更改django models的related_name属性需要向南迁移吗?

bweufnob  于 2023-10-21  发布在  Go
关注(0)|答案(2)|浏览(79)

我有一个带有ForeignKey的简单Django模型

class FooModel(models.Model):
    foo = models.ForeignKey('Foo', related_name="foo_choices")
    bar = models.CharField(max_length=50)

related_name属性已经存在,但我想更改它。这种变化是否需要任何形式的迁移?当我在修改related_name后运行schemamigration管理命令时,我得到“Nothing seems to have changed”,但我想验证一下。

rdrgkggo

rdrgkggo1#

  • 正如评论中提到的,这个答案对于非常旧的Django版本是正确的 *
    不需要您不需要迁移。

相关名称是用于从相关对象返回到此对象的关系(反向关系)的名称。
related_name与数据库无关。它被Django的ORM用来获取查询集结果,所以如果你改变了模型字段上的related_name属性,你不需要迁移。
这里有一些关于related_name用法的附加文档

kr98yfug

kr98yfug2#

上述公认的答案现已过时。
Django会在外键字段的相关名称更改时创建和alter field foreign_key_field on model迁移。

相关问题