我有一个带有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”,但我想验证一下。
2条答案
按热度按时间rdrgkggo1#
不需要您不需要迁移。
相关名称是用于从相关对象返回到此对象的关系(反向关系)的名称。
related_name
与数据库无关。它被Django的ORM用来获取查询集结果,所以如果你改变了模型字段上的related_name
属性,你不需要迁移。这里有一些关于
related_name
用法的附加文档kr98yfug2#
上述公认的答案现已过时。
Django会在外键字段的相关名称更改时创建和
alter field foreign_key_field on model
迁移。