我很熟悉Django,但最近注意到模型中有一个on_delete=models.CASCADE
和on_delete=models.PROTECT
选项
on_delete=models.CASCADE
和on_delete=models.PROTECT
都在做同样的事情。或者两者都相同(我只使用了on_delete=models.CASCADE
,当我删除父项时,它将删除所有相关项)
我已经搜索了相同的文档,但找不到比以下内容更多的内容:
Django 2.0
A many-to-one relationship. Requires two positional arguments: the class to which the model is related and the on_delete option. To create a recursive relationship – an object that has a many-to-one relationship with itself – use models.ForeignKey('self', on_delete=models.CASCADE).
CASCADE
级联删除。Django模仿SQL constraint ON DELETE CASCADE
并删除对象 包含ForeignKey
。PROTECT
防止通过raising
删除引用的对象ProtectedError
,是django.db.IntegrityError
的一个子类。这些内容会被删除,因为一旦更改了模型,就需要执行
makemigrations
和migrate
来查看更改。相关问题 更多 >
编程相关推荐