gpt4 book ai didi

Django 迁移因 to_field 更改而失败

转载 作者:行者123 更新时间:2023-12-02 07:02:51 24 4
gpt4 key购买 nike

在我的 Django 模型中,我有一个像这样的字段(简化版):

category = models.ForeignKey(EnumValue, to_field='code', related_name='+', verbose_name="Kategorie", db_column='Kategorie')

然后我删除了 to_field 参数,将外键转换回指向主键的外键。

Django 迁移仅针对此更改生成了一个简单的 AlterField,并且似乎没有修改外键或正确翻译现有数据。无论如何,在应用迁移时我收到此错误消息:

pymysql.err.IntegrityError: (1452, 'Cannot add or update a child row: a foreign key constraint fails

我在网上找不到有关此具体案例的任何信息。我想说这是一个 Django 迁移错误。你同意?您知道解决此问题的方法吗?

最佳答案

以下内容对我有用:

  1. 添加第二个字段,该字段指向所引用类的主键。
  2. 在迁移文件中添加一个 Python 例程,用于将引用从现有字段传输到新字段。
  3. 在第二次迁移中删除旧字段并重命名新字段。

关于Django 迁移因 to_field 更改而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28902864/

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