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
This method will validate all fields on your model. The optional exclude argument lets you provide a set of field names to exclude from validation. It will raise a ValidationError if any fields fail validation. The second step full_clean() performs is to call Model.clean() .
A proxy model is a subclass of a database-table defining model. Typically creating a subclass of a model results in a new database table with a reference back to the original model's table - multi-table inheritance. A proxy model doesn't get its own database table. Instead it operates on the original table.
It is possible, just make sure to import all the models you create in __init__.py
in your models
directory. In your case, it would look like this:
# __init__.py from .user import UserModel from .group import GroupModel
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 the Meta
class in your model:
class UserModel(models.model): # fields here class Meta: app_label = "myapp"
http://docs.djangoproject.com/en/1.7/ref/models/options/#app-label
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With