Django模型系统

Posted wdty

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django模型系统相关的知识,希望对你有一定的参考价值。

技术图片

装饰器补充

django模型系统

一,数据库的链接配置

二,Django的ORM简介

三,模型的创建与激活

四,数据的增删改查

 

一,数据库的链接配置

django  链接mysql的配置流程:

  -安装pymysql ——   pip  install  pymysql 

技术图片

 

  -创建数据库用户

    -有创建数据库权限的用户

技术图片

技术图片

  -创建数据库

    create database mysite; (创建需要的数据库)

  -修改配置

技术图片

技术图片

 

 

  -修改项目文件(和settings.py文件所在的目录)下

  __init__.py文件

技术图片

  -设置时区  TIME ZONE = ‘Asia/ShangHai’   #北京时间

 

二,Django的ORM简介

技术图片

技术图片

 

三,模型的创建与激活

创建模型:

  -创建Student的模型,代表学生

技术图片

  verbose_name 人类可读的时间

  总结:

  1,每一个模型都是django.db.models.Model的子类

  2,类变量 表示模型中的数据库字段

  3,每一个字段由一个字段类的实例表示

激活模型:

  1,在项目中注册app

  2,运行数据库迁移命令(项目根目录下)

    python mange.py makemigrations teacher(应用名:teacher,不加全部迁移) 

技术图片

  告诉django,我们做了哪些数据库的更改

  迁移

  sqlmigrete 从迁移获取sql语句

 

--
-- Create model Student 
--
CREATE TABLE `teacher_student` (

`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,

`name` varchar(20) NOT NULL,

`age` smallint NOT NULL,

`sex` smallint NOT NULL,

`qq` varchar(20) NOT NULL,

`phone` varchar(20) NOT NULL,

`c_time` datetime(6) NOT NULL);
COMMIT;

3, 运行migrate命令,使迁移生效

  python manage.py migrate 

技术图片

技术图片

 

# 表名 appname 模型name.lower  (表名是app下划线加上模型的小写)

 四,数据的增删改查

  -工具 django shell  调试工具

  命令:pythone manage.py shell

  创建:pip install ipython  (补全功能)

增加数据方法

  1,Student.objects.create(name=‘魏国‘, age=13)

  2,s1 = Student(name=‘孟杰’, age=25, qq=‘123456‘) 

3,

  s2 = Student()

  s2.name = ‘心蓝‘

  s2.age = 18

  s2.save()

4, s=Student.objects.get_or_create(name=‘心蓝‘)  

In [11]: s
Out[11]: (<Student: 心蓝-18>, False)   ***查就是False;创建成功就是True

In [12]: s[0]
Out[12]: <Student: 心蓝-18>

In [13]: s[0].id
Out[13]: 1

查询数据

Student.objects.all()   #查询所有

res = Student.objects.all() 

res

print(res[1:2].query)   #切片

Student.objects.get(name=‘心蓝‘)   #查询

Student.objects.get(pk=1)   #pk替代主键

res = Student.objects.filter(sex=1)  #查询

修改数据

 s.age = 16   #通过对象数据进行赋值,进行修改

s.save()  #保存

Student.objects.filter(name=‘心蓝‘).update(age=18)   #修改多条数据

Student.objects.filter(sex=1).delete()    #删除多条数据

 








以上是关于Django模型系统的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Django Summernote 中显示编程片段的代码块?

django模型系统一

Django基于PythonWeb的Django框架设计实现天天生鲜系统-3模型创建

django 搭建博客系统之创建博客的数据库模型

Django管理图标和图像

django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段