第一章:模型层 - 7:用包来组织模型
在我们使用python manage.py startapp xxx
命令创建新的应用时,Django会自动帮我们建立一个应用的基本文件组织结构,其中就包括一个models.py
文件。通常,我们把当前应用的模型都编写在这个文件里,但是如果你的模型很多,那么将单独的models.py
文件分割成一些独立的文件是个更好的做法。
首先,我们需要在应用中新建一个叫做models
的包,再在包下创建一个__init__.py
文件,这样才能确立包的身份。然后将models.py
文件中的模型分割到一些.py
文件中,比如organic.py
和synthetic.py
,然后删除models.py
文件。最后在__init__.py
文件中导入所有的模型。如下例所示:
# myapp/models/__init__.py
from .organic import Person
from .synthetic import Robot
要显式明确地导入每一个模型,而不要使用from .models import *
的方式,这样不会混淆命名空间,让代码更可读,更容易被分析工具使用。