Django-模型

半腔热情 提交于 2020-02-04 06:35:33

Django-模型

1.模型与数据库的关系

模型负责业务对象和数据库的关系映射,ORM–》对象-关系-映射

2.配置数据库

1)首先创建数据库;
2)一些数据库的基本配置,包括哪个数据库软件,哪个数据库等等;
3)在models.py文件中创建类,在类中创建字段;类相当于表,字段相当于表中的列,多以要写好约束
4)在settings.py中的36行写上应用名
5)生成迁移python manage.py makemigrations
6)执行迁移python manage.py migrate

3.使用模型对数据库进行操作

视图中导入models
调用对应的模型进行数据的操作

4.关于字段的类型

1)主键Django中会自动那个添加
2)BooleanField
3)CharField
4)TextFeild
5)IntegerField
6)DecimalField(总位数,小数位)
7) DateField(auto_now=False,auto_new_add=False)
8)DatetimeField(参数同上)
9)ImageField()

5.约束字段

null
db_column
db_index
default
unique

6.模型类的属性和方法

1)objects 管理器
2)DoesNotExist
3)str(self)
4)save() 保存数据到数据库
5)delete() 删除
6)all() 查询表中所有数据
7)filter() 过滤出在这个条件内的数据,不存在不报错,可书写多个条件
8)exclude() 排除与给定条件不匹配的数据
9)order_by()
10)values() 一个对象构成一个字典,然后构成一个列表返回
11)get() 写一个条件,不存在会报错,返回单个数据
12)count() 查询总行数
13)first() 返回第一个对象
14)last() 返回最后一个对象
15)exists() 判断是否存在
16)限制行数 all()[:5] limit 5 all()[5:10] offset 5 limit 5 从第六个开始,往下数10个
17)条件的书写 属性名__比较运算符=“值”
18)比较运算符 contains包含 exact判等 startswith以…开始 endswith以…结束 isnull isnotnull in gt> gte>= lt< lte<=

7.模型关系

1)一对一

models.py中sid=models.OneToOneField('父表',on_delete=models.cascade)
添加数据sid:父表类对象
通过父表查询子表父类对象.子类(小写)
通过子类查询父类子类对象.两表相互关联的字段.name(父表列)

2)一对多

models.py中cid=models.ForeignKey(to="父表",on_delete=models.cascade)
添加数据bid=父类对象
通过父表查询子表父表.子表_set.all()
通过子表查询父表子对象.关联字段.父表列名

3)多对多

models.py中bid=models.ManyToManyField(to="另一个表")
添加表对象.关联对象.set(表对象) 表对象.表对象_set.set(表对象) 表对象.关联字段.all() `表对象.表对象_set.all()

8.相关概念

1)路由

定义用户访问url,并把定义的url路径和 对应的视图函数产生映射

2)视图

函数或方法,也可以定义类;用于接收用户的请求,做出响应,逻辑代码

3)模板

Django中有模板引擎,把HTML/python分离,并且视图函数做出反应,或传递数据

4)模型

专门处理数据层,实现对数据库中的数据进行操作,类映射数据库

5)静态文件

专门存放在模板中需要使用静态文件目录,css,js,images,video
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!