I'm trying to learn python/django.
Right now, I have all of my models in models.py
Is it possible to have my models broken out so that I can have a single file per model in a separate models folder so that I can do something like:
~/myproject/myapp/models/user.py ~/myproject/myapp/models/group.py
Thanks
It is possible, just make sure to import all the models you create in
__init__.py
in yourmodels
directory. In your case, it would look like this:This needs to be done because Django looks in
app.models
for an app's models.As others have mentioned, for versions of Django prior to 1.7, you'll also need to specify your app's name in the
app_label
attribute in theMeta
class in your model:http://docs.djangoproject.com/en/1.7/ref/models/options/#app-label
you could have a folder called "models" but then in each model class you'll need to include:
*ps. Don't forget a __ init__.py file like I always do.*
If you don't know what the name of app_label should be. You can try this: