gpt4 book ai didi

django - 如何安全地从模型中删除 ForeignKey 字段?

转载 作者:行者123 更新时间:2023-11-29 11:59:34 25 4
gpt4 key购买 nike

我有一个这样的模型(为了相关性而简化):

class Director(models.Model):

first_name = models.CharField(max_length=200)
last_name = models.CharField(max_length=200)
user_account = models.ForeignKey(User, null=True, blank=True)

我刚刚意识到 user_account 需要是 OneToOneField 而不是 ForeignKey。进行该更改本质上意味着删除现有的 user_account 字段并创建新字段。

问题是我过去在处理 ForeignKey 字段时有过糟糕的经历。更糟糕的是,我已经在数据库中创建了几个 Director 对象,其中 ForeignKey 链接到 User 对象。

我的问题是如何删除并最终更改 user_account 字段而不会在以后导致运行时错误?

附加上下文:我正在使用 Django 1.9 和 PostgreSQL。

最佳答案

ForeignKeyOneToOneField 是一样的,除了 OneToOneField 有一个唯一的约束。尝试更改模型中的字段并运行 makemigrations——我认为 Django 应该足够聪明,能够创建所需的迁移。

开始之前,您需要确保没有多个 director 实例指向同一用户,因为一对一字段不允许这样做。

关于django - 如何安全地从模型中删除 ForeignKey 字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34775035/

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