快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

django中model定义外键的方法

小编给大家分享一下django中model定义外键的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、网络空间、营销软件、网站建设、石楼网站维护、网站推广。

定义模型类

模型类被定义在"应用/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中model定义外键的方法有了一定的了解,想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


文章标题:django中model定义外键的方法
网站URL:http://6mz.cn/article/gssphd.html

其他资讯