1

我对迁移中创建表的顺序有疑问。由于ForeignKey模型 B 中有一个连接到模型 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遵循给定的顺序呢?

4

1 回答 1

2

当且仅当其中一个将另一个引用为ForeignKey. 在这种情况下,顺序很重要,您会发现迁移确实保留了顺序。

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

于 2016-09-14T11:23:26.080 回答