django的admin界面删除因为外键约束导致失败

因为admin界面最终是给非技术人员使用的,

所以此时显然不能再采用关闭外键检查的方式来规避报错了.

这里需要修改的是models.py 中的on_delete选择CASCADE.

CASCADE含义是:

子表的test_id是外键,依赖于父表的id,

那么当父表的id为某个值的数据被删除时,子表中所有相关数据取值等于父表中该值的数据,都被删除

然后让修改生效:

mysql> set foreign_key_checks=0;

python manage.py makemigrations

python manage.py migrate

mysql> set foreign_key_checks=1;

发布了785 篇原创文章 · 获赞 357 · 访问量 166万+

猜你喜欢

转载自blog.csdn.net/appleyuchi/article/details/105086440