0

我在 Django 1.8 上。我不是将所有模型都放在一个models.py文件中,而是将它们放在一个看起来像这样的包中:

models/
  - __init__.py
  - Album.py
  - Artist.py

但是 Django 的makemigrations命令似乎只在应用程序只有一个models.py文件时才有效。运行django-admin help makemigrations不会显示任何关于我可以传递给命令以实现我想要的其他选项的提示。此外,我在 SO 上看到的所有其他问题和答案都涉及 South,它与 Django 1.8 不兼容。

那么解决方法是什么?

4

2 回答 2

1

在多个文件中水平拆分 django 模型是一种有效的方法。一个很好的解释可以在这里找到。

Django 在模块中查找您的模型,该models模块可以是文件或有效的 python 包。

如果您有一个有效的 python 包(带有__init__.py文件的目录),它将尝试根据__init__.py.

确保您的__init__.py文件如下所示:

from Album import Album
from Artist import Artist

然后 django 应该正确地发现你的模型。

于 2015-05-26T14:58:56.913 回答
0

在你的models.py

添加。

 # myproject/app/models.py:
 from models/Album.py import *
 from models/Artist.py import *

关于注意事项:从开始支持迁移。请检查迁移

于 2015-05-26T14:39:01.100 回答