您的位置:首页 > 编程语言 > Go语言

django中models field详解

2016-09-11 10:18 826 查看
本文参考自:django官方文档models/field

在model中添加字段的格式一般为: field_name = field_type(**field_options)

一 field options(所有字段共用)

  1 null 默认为False,True则表示可以为null。(空字符串在数据库中可能被存储为'')

  2 blank 默认为False,True表示可以为空。

  3 choice 可选的,限制了该选项的字段值必须是所指定的choice中的一个。

def limit_pub_date_choices():
return {'pub_date__lte': datetime.date.utcnow()}

limit_choices_to = limit_pub_date_choices


实例
    related_name 设置从关联对象到自身的关系的名称,若值为'+' 则关联对象与自身无逆向关系。详解请看官方文档

    to_field 设置所关联对象的关联字段。默认为关联对象的主键字段。

    

  2 ManyToManyField(othermodel, **options) 多对多字段。

    othermodel: 所关联的model名称

    db_table: 多对多关系会在两个模型所对应的表中间创建一个‘中间表’ ,将多对多转换为两个多对一,该选项为这个中间表设置名称。一般来说django会默认为中间表创建名称,但人们读起来可能搞不清楚究竟中间表关联到了哪里。

    related_name: 同多对一字段中的related_name

    limite_choices_to: 同....

    symmetrical: 当多对多关联对象为自身时可能会用到的参数。默认为True。a,b同属于person模型,person中的friends字段与自身设置了多对多关系,当该值设置为True时,django假定关系为对称,即:a是b的朋友,那么b也是a的朋友。设置为False时,django会强制为逆向关系创建描述信息。

    though: 不想让django自动创建中间表,手动创建中间表所对应的model,通过though指定对应的model名称。

    though_field: 当though参数被使用时,该参数才会有效。指定使用哪些中间模型字段来确立两个模型的多对多关系。

  3 OneToOneField(othermodel, on_delete, parent_link=False, **options) 一对一字段。

    othermodel: .......

    on_delete:........

    related_name:...........


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: