gpt4 book ai didi

python - 在 Django 中删除外键约束

转载 作者:行者123 更新时间:2023-11-28 19:29:28 27 4
gpt4 key购买 nike

我有两个表:

class Foo(models.Model):
pass

class Bar(models.Model):
foobar = models.ForeignKey(Foo, unique=True)
barfoo = models.ForeignKey(Foo, unique=True)

验证确保永远不会有既是foobar又是barfooFoo。我需要删除 Bar 模型和所有属于 barfooFoo。我的方法是从 Bar.barfoo 中删除外键约束,运行一些 SQL 删除所有 Foobarfoo,然后到删除模型。不过,我似乎无法在 django 迁移文档中找到任何用于删除 Django 动态生成的外键约束的内容。想法?

最佳答案

创建一个迁移,删除“foobar”并改变“barfoo”,添加级联删除行为。运行此迁移,删除数据库中的所有 Bar 对象,最后从模型文件中删除 Bar 模型并生成新的迁移。

确保您的模型上没有任何通用外键(否则您将在 django_contenttypes 表上获得陈旧数据)。

就是这样。

关于python - 在 Django 中删除外键约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29480605/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com