场景中on_delete参数的使用我们在使用Django的Model的时候,有时候需要关联外键。关联外键时,参数on_delete的配置选项有哪些,你知道吗?参数介绍models.CASCADE级联删除。Django会模拟SQL约束的行为。删除这条数据时,同事删除了外键关联的对象。例如,用户有一个与用户的健康记录表关联的外键。当用户被删除时,该参数配置的健康记录表中与该用户相关的数据也会被删除。提醒:级联删除不会调用模型级行为,但会为所有删除的对象发送pre_delete和post_delete信号。在使用Django的signal机制的场景下,要考虑这种级联删除的影响。models.PROTECT防止删除引用的对象。与前一个相反,它可以防止关联数据被删除。models.SET_NULL将关联的外键内容设置为空。仅在设置null=True时可用。当数据被删除时,关联的外键内容被设置为空。models.SET_DEFAULT将外键的值设置为默认值。外键必须设置默认值。models.SET()将SET()设置的值作为外键的值,如果传递了可调用对象,则为它的结果。DO_NOTHING不采取任何行动。如果后端数据库有强制关联操作,很容易报错:IntegrityError,除非你手动给数据库加上SQLONDELETE约束。欢迎查看本系列其他文章:django-admin和manage.py的使用写自定义manage.py命令Django组件——表单组件更多内容请查看Bigyoung网站。
