Django: Могу ли я иметь приложение в подпапке другого приложения? - PullRequest
7 голосов
/ 07 января 2010

Я пытался поместить приложение в другое приложение (внешнее - это фасад во внутреннее, поэтому было целесообразно расположить их таким образом), и оно не создавало таблицу для модели в этом внутреннем приложении. Это нормально? (приложение установлено и зарегистрировано администратором)

1 Ответ

5 голосов
/ 07 января 2010

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.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...