list_model_info¶
- synopsis
Lists out all the fields and methods for models in installed apps.
Introduction¶
When working with large projects or when returning to a code base after some time away, it can be challenging to remember all of the fields and methods associated with your models. This command makes it easy to see:
what fields are available
how they are referred to in queries
each field’s class
each field’s representation in the database
what methods are available
method signatures
Commandline arguments¶
You can configure the output in a number of ways.
# Show each field's class
$ ./manage.py list_model_info --field-class
# Show each field's database type representation
$ ./manage.py list_model_info --db-type
# Show each method's signature
$ ./manage.py list_model_info --signature
# Show all model methods, including private methods and django's default methods
$ ./manage.py list_model_info --all-methods
# Output only information for a single model, specifying the app and model using dot notation
$ ./manage.py list_model_info --model users.User
You can combine arguments. for instance, to list all methods and show the method signatures for the User model within the users app:
$ ./manage.py list_model_info --all --signature --model users.User
Settings Configuration¶
You can specify default values in your settings.py to simplify running this command.
Tip
Commandline arguments override the following settings, allowing you to change options on the fly.
To show each field’s class:
MODEL_INFO_FIELD_CLASS = True
To show each field’s database type representation:
MODEL_INFO_DB_TYPE = True
To show each method’s signature:
MODEL_INFO_SIGNATURE = True
To show all model methods, including private methods and django’s default methods:
MODEL_INFO_ALL_METHODS = True
To output only information for a single model, specify the app and model using dot notation:
MODEL_INFO_MODEL = 'users.User'