Я выполняю рефакторинг приложения Django. В частности, у меня есть приложение с большим файлом models.py
, и я пытаюсь разбить его на несколько небольших файлов, например
myapp/
models/
__init__.py
somemodels.py
someothers.py
somemore.py
...
и в models/__init__.py
Я импортирую все модели из всех других файлов, чтобы мне не приходилось менять код клиента.
Проблема в том, что Django теперь жалуется на имена таблиц. Таблица для модели Foo
раньше была myapp_foo
, но похоже, что Django сейчас ищет таблицу myapp.models_foo
. То есть кажется, что он использует в качестве префикса пакет, в котором модели определены вместо их приложения (конечно, myapp.models
не зарегистрировано как приложение Django).
Я знаю, что мог бы вручную установить имя таблицы для каждой модели, но есть ли способ избежать этого и сказать Django, что эти модели на самом деле являются частью myapp
?