Django makemigrations不会在models.py中按顺序创建模型

时间:2016-09-14 10:49:23

标签: django django-models model django-migrations makemigrations

我对迁移中创建表的顺序有疑问。由于模型B中有ForeignKey连接到模型A,因此我在models.py中创建了A,B和C顺序的模型。然后:

python manage.py makemigrations app

生成了用于创建所有模型的迁移文件,但顺序为:

- Create model B
- Create model C
- Create model A
- Add field a_name to b.

由于models.py中的顺序非常重要,但为什么makemigrations不遵循给定的顺序?

1 个答案:

答案 0 :(得分:1)

将模型放置在models.py中的顺序非常重要,当且仅当其中一个引用另一个作为ForeignKey时。在这种情况下,订单很重要,您会发现迁移确实保留了订单。

真正重要的不是当你做anage.py makemigrations时会出现什么,但当你manage.py migrate时会发生什么,django通常会找出正确的顺序。如果您在任何时候认为您想要控制创建表的顺序,您可以自由编辑迁移文件(即使这不是真的需要)