更改django models related_name属性是否需要南迁移?

时间:2013-11-05 22:13:51

标签: django django-models django-south

我有一个带有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管理命令时,我得到“似乎没有任何改变”,但我想验证。

2 个答案:

答案 0 :(得分:15)

您不需要迁移。

Related name是用于从相关对象到此对象的关系的名称(反向关系)。

related_name与数据库无关。 Django的ORM使用它来获取查询集结果,因此如果更改模型字段上的related_name属性,则不需要迁移。

关于related_name

的使用的一些additional documentation here

答案 1 :(得分:0)

上面接受的答案现在已过时。

当外键字段的相关名称更改时,Django会创建并alter field foreign_key_field on model迁移。