Importing models from within `__init__.py` prevents syncdb from creating tables
|Reported by:||Julien Phalip||Owned by:||nobody|
|Component:||Database layer (models, ORM)||Version:||master|
|Has patch:||no||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
I have a very simple app with this structure:
myapp/ __init__.py models.py
That app wouldn't create its tables when running
syncdb. After poking around I realised that it was because within the
__init__.py I was importing the models:
# __init__.py from models import * ...
So, my question: is that a case of "don't do that", and if so is that worth specifying in the documentation?
It took me quite a while to debug that, and I found nothing obvious in the docs to help me (if there is, please point me to it).
Change History (6)
comment:1 Changed 8 years ago by
|Patch needs improvement:||unset|
comment:2 Changed 8 years ago by
|Component:||Uncategorized → Database layer (models, ORM)|
|Triage Stage:||Unreviewed → Accepted|