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']==选择自定义第三章表的字段,来作为关联表的字段、

)

  

  

posted @ 2018-10-03 16:31  brownbearye  阅读(97)  评论(0)    收藏  举报