Reputation: 20493
I am refactoring a Django application. Specifically, I have an application with a big models.py
file and I am trying to split it into a bunch of small files, like
myapp/
models/
__init__.py
somemodels.py
someothers.py
somemore.py
...
and in models/__init__.py
I import all models from all other files so that I do not have to change client code.
The problem is that Django now complains about table names. Table for model Foo
used to be myapp_foo
, but it seems that Django now looks for a table myapp.models_foo
. That is, it seems that it uses as prefix the package where the models are defined instead of their application (of course myapp.models
is not registered as a Django application).
I know I could manually set the table name for each and every models, but is there a way to avoid this and tell Django that these models are actually part of
myapp
?
Upvotes: 0
Views: 286