Importing models from within `__init__.py` prevents syncdb from creating tables
|Reported by:||julien||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 7 years ago by julien
- Needs documentation unset
- Needs tests unset
- Patch needs improvement unset
comment:2 Changed 7 years ago by jacob
- Component changed from Uncategorized to Database layer (models, ORM)
- Triage Stage changed from Unreviewed to Accepted