在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*”方式。这种方式不会打乱命名空间,保证了代码的可读性,有助于代码分析工具的使用。