2018-10-03-Python全栈开发-day61-DJANGO-MODELS操作补充
models
创建类以及操作类
1.字段
db_column=‘alex’
制定表中字段名称
索引
db_index=True创建默认索引,加快搜寻速度
unique=True 创建唯一索引,多了个数据不能为相同值
主键 除了唯一索引之外,数据不能为空
vrebose_name
admin中显示的名字
blank
admin中可以输入为空
editable
admin中能否进行编辑
choices
admin中下拉栏进行选择
error_messages
定制错误信息
validators
定制正则表达式
2.字段参数详解
一对一
如何实现一对一以及一对一的使用场景
一般情况下是一对多,即一个主表的数据,对应字表中的多条数据,此时,如果给字表的字段加上唯一索引,此时就形成了一对一
多表关系以及参数
foreignKey 即生成外键,其中参数
to 关联的主表
to_field 对应的字段
to_delete 当主表数据删除时,字表数据的反应:
models.CASCADE 字表中内容随之删除
models.DO_NOTHING 抛出IntegerityError
models.PROTECT 抛出protectedError
models.set_null 删除时字表的值变为null
models.set_default 删除时设置默认值
models.set
指定量以及函数返回值func
models.set(func)
related_name 设置主表查询字表时的名称,否则需要使用字表名+set来查询
related_gueny_name 设置主表查询字表时的别名,但是还是要加set
limited_choices_to={'id':1} 在admin中为选择提供条件
一对一
to 关联的主表
to_field 对应的字段
to_delete
自定义多对多第三张表
多对多中,有三种方式创建第三张表
1.manytomany
2.自定义第三张表,字段各自关联一张表,在这个表里可以自己自定义字段,
并且可通过
class meta:
unique_together=(('u','p')) 来设置联合唯一
3.多表操作结合
讲manytomany和自定义第三章表进行结合。
m=manytomany(
to=
through=‘自定义第三章表’
throug_fields=[‘u’,'p']==选择自定义第三章表的字段,来作为关联表的字段、
)

浙公网安备 33010602011771号