У меня есть проект Django с моделями следующей структурой:SyncDB не создавать таблицы для вложенных моделей
my_model/
├── __init__.py
├── models/
├── __init__.py
├── my_model.py
├── my_other_model.py
my_model.py и my_other_model.py каждый из которых содержит модель, MyModel и MyOtherModel, и в моем настройки Django файла я добавил эту папку в моем списке установленных приложений, как это:
INSTALLED_APPS = (
...
'my_model',
...
)
Теперь, когда я бегу SyncDB на моем проекте я ожидаю, обе модели, чтобы создать таблицу MySQL, но MyModel единственная таблица, созданная в mymodel_mymodel , Я не знаю, как заставить syncdb создать другую модель, хотя я ожидаю получить другую таблицу с именем mymodel_myothermodel.
Спасибо за вашу помощь, Маттиас
Я добавил app_label = 'my_model' в класс Meta класса, но когда я пытаюсь импортировать модели из __init__, я получаю ошибку импорта при импорте my_other_model, потому что тот пытается импортировать my_model со следующей ошибкой: import my_model .models. my_other_model, AttributeError: объект 'module' не имеет атрибутов 'models' –
@materik У вас может быть проблема с круговой импорцией. [Использование строки] (https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.ForeignKey) в ForeignKey (или любых других отношениях), которые, возможно, вам придется исправить проблема. –
спасибо, это сработало :) –