Django:我可以在另一个应用程序的子文件夹中有一个应用程序吗?

oro*_*aki 7 django

我试图将一个应用程序放在另一个应用程序中(外部应用程序是一个外观进入内部应用程序,因此以这种方式定位它们是有意义的),并且它不会为该内部应用程序中的模型创建表格.这是正常的吗?(该应用已安装,并已向管理员注册)

Lea*_*orm 5

Django通过导入设置models中每个包的模块来加载模型INSTALLED_APPS.例如,用INSTALLED_APPS的设置('django.contrib.admin', 'django.contrib.comments', 'spam.ham', and 'eggs'),Django会从导入模型django.contrib.admin.models,django.contrib.comments.models,spam.ham.models,和eggs.models.

如果您只列出您的外部应用程序INSTALLED_APPS(我们假设它已命名eggs),则只eggs.models导入和创建模型.要从内部应用程序安装模型,您还需要将其添加到INSTALLED_APPS类似eggs.inner_app,以便eggs.inner_app.models导入.(为了方便外键,我很确定如果您将模型从一个应用程序导入到另一个应用程序的models.py文件中,则只会models.py创建正在扫描的文件中定义的模型.)