synopsis:Lists out all the fields and methods for models in installed apps.


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
$ ./ list_model_info --field-class
# Show each field's database type representation
$ ./ list_model_info --db-type
# Show each method's signature
$ ./ list_model_info --signature
# Show all model methods, including private methods and django's default methods
$ ./ list_model_info --all-methods
# Output only information for a single model, specifying the app and model using dot notation
$ ./ 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:

$ ./ list_model_info --all --signature --model users.User

Settings Configuration

You can specify default values in your to simplify running this command.


Commandline arguments override the following settings, allowing you to change options on the fly.

To show each field’s class:


To show each field’s database type representation:


To show each method’s signature:


To show all model methods, including private methods and django’s default methods:


To output only information for a single model, specify the app and model using dot notation:

MODEL_INFO_MODEL = 'users.User'