我有一个带有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管理命令时,我得到“似乎没有任何改变”,但我想验证。
答案 0 :(得分:15)
否您不需要迁移。
Related name是用于从相关对象到此对象的关系的名称(反向关系)。
related_name
与数据库无关。 Django的ORM使用它来获取查询集结果,因此如果更改模型字段上的related_name
属性,则不需要迁移。
关于related_name
答案 1 :(得分:0)
上面接受的答案现在已过时。
当外键字段的相关名称更改时,Django会创建并alter field foreign_key_field on model
迁移。