gpt4 book ai didi

django - 如何通过南迁移在现有模型中添加一对一的关系字段

转载 作者:行者123 更新时间:2023-12-04 07:12:13 25 4
gpt4 key购买 nike

我已经有模型了

class ModelA( models.Model ):
name = models.CharField ( max_length = 255, blank = False )

我有很多条目。现在我想在其中添加一个字段,即
user = models.OneToOneField( User )

我如何将此字段添加到 ModelA ?除了删除所有以前的条目之外,还有其他解决方案吗?

最佳答案

我会使用这种模式:

  • 将“user = models.OneToOneField(User, null=True)”添加到您的模型中(不要删除“名称”字段)
  • 运行“manage.py schemamigration --auto”。并应用迁移。现在您的表中有两列。
  • 现在创建一个数据迁移。编辑文件:您需要遍历模型中的所有对象并设置用户字段。
  • 从 model.py 文件中删除“name=models.CharField”。并从用户字段中删除 null=True。
  • 运行“manage.py schemamigration --auto”。并应用迁移

  • 顺便说一句,如果您使用 OneToOneField() 而不使用 null=True,您可以在该字段上设置 primary_key=True,因为它必须是唯一的。但我不知道南是否可以处理这种迁移。

    关于django - 如何通过南迁移在现有模型中添加一对一的关系字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8586703/

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