Django框架还可以通过包来管理模型。在使用manage.py startapp命令创建了一个应用结构后,应用的目录中会包含一个models.py文件。假如需要包含多个models.py文件,通过使用独立的文件管理方式会比较实用。
为了实现上述方式,需要创建一个独立的models包。具体方法是,先要删除models.py文件,再创建一个myapp/models目录,该目录包含一个__init__.py文件和存储模型的文件,同时在__init__.py文件中导入这些模块。
下面举一个例子,如果需要在models目录下包含organic.py和synthetic.py两个文件,则需要在models目录下的__init__.py文件中导入这些模块,具体代码如下:
【代码3-30】
# myapp/models/__init__.py from .organic import Person from .synthetic import Robot
另外,上面的代码是通过显式地导入每个模块方式进行操作的,而没有使用from .models import*的方式。这样有助于避免打乱命名空间,保证代码更具可读性,并有助于代码分析工具的使用。