Чтобы разместить свои модели в подпапках, я попытался использовать метаполе app_label, как описано здесь .
Моя структура каталогов выглядит так:
- проект
- приложение
- Foo
- модель
- __ __ INIT. Ру
- bar_model.py
В bar_model.py я определяю свою модель следующим образом:
from django.db import models
class SomeModel(models.Model):
field = models.TextField()
class Meta:
app_label = "foo"
Я могу успешно импортировать модель следующим образом:
from apps.foo.models.bar_model import SomeModel
Однако, работает:
./manage.py syncdb
не создает таблицу для модели. В подробном режиме я вижу, однако, что приложение "foo" правильно распознается (оно находится в INSTALLED_APPS в settings.py). Перемещение модели в models.py под foo работает.
Существует ли какое-то конкретное соглашение, не документированное с app_label или со всем механизмом, который препятствует распознаванию этой структурой модели syncdb?