Python 在用 python model 层创建数据库的时候,关于外键的操作

一本正经 · 2019年07月10日 · 最后由 Karaser 回复于 2019年07月11日 · 1985 次阅读


如图所示,用 model 层创建的外键,后俩项是默认为空的,请问这个如何解决,总不能要手工去加把
project = models.ForeignKey(Project, on_delete=models.CASCADE, verbose_name='所属项目')
我创建的时候其实已经设置了,可似乎没有效果

共收到 1 条回复 时间 点赞

Python model?django 吧
django 不会实际在数据库中设置 on_delete 的值,在你删除一个引用对象的时候,django 回去模拟 on_delete 的行为。
django 其实也不推荐你直接使用 sql 去操作数据库,已经提供了完备的 filter 等函数,如果你非要这样的话,自己写一个批量脚本吧。

django 文档原文:https://docs.djangoproject.com/en/1.9/ref/models/fields/#django.db.models.ForeignKey.on_delete
ForeignKey.on_delete¶
When an object referenced by a ForeignKey is deleted, Django will emulate the behavior of the SQL constraint specified by the on_delete argument.

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册