新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
成都创新互联长期为千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为临潭企业提供专业的网站建设、成都网站制作,临潭网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。小编给大家分享一下django外键关键值如何设置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
django外键关键值可以自己定义,也可以使用没默认值。
定义模型类
模型类被定义在"应用/models.py"文件中。
模型类必须继承自Model类,位于包django.db.models中。
1) 数据库表名
模型类如果未指明表名,Django默认以小写app应用名_小写模型类名为数据库表名。
可通过db_table指明数据库表名。
2) 关于主键
django会为表创建自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后django不会再创建自动增长的主键列。
默认创建的主键列属性为id,可以使用pk代替,pk全拼为primary key。
3) 属性命名限制
不能是python的保留关键字。
不允许使用连续的下划线,这是由django的查询方式决定的。
定义属性时需要指定字段类型,通过字段类型的参数指定选项,语法如下:
属性=models.字段类型(选项)。
外键
在设置外键时,需要通过on_delete选项指明主表删除数据时,对于外键引用表数据如何处理,在django.db.models中包含了可选常量:
CASCADE级联,删除主表数据时连通一起删除外键表中数据,
PROTECT保护,通过抛出ProtectedError异常,来阻止删除主表中被外键应用的数据,
SET_NULL设置为NULL,仅在该字段null=True允许为null时可用,
SET_DEFAULT设置为默认值,仅在该字段设置了默认值时可用,
SET()设置为特定值或者调用特定方法,
DO_NOTHING不做任何操作,如果数据库前置指明级联性,此选项会抛出IntegrityError异常。
以上是“django外键关键值如何设置”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联-成都网站建设公司行业资讯频道!