Introspection tools for Django
pip install django-introspection
from introspection import AppInspector
app = AppInspector("myapp_name")
# get a list of app's models':
app.get_models()
print(app.models)
# get a list of fields for a model
fields = app.models[0].fields
print(fields)
Print details about a model or app
# inspect an app
python3 manage.py inspect auth
# or for a model
python3 manage.py inspect auth.User
Output:
========================================================
Fields
========================================================
# Found 14 fields:
profile OneToOneField with related name user
id AutoField
password CharField
last_login DateTimeField
is_superuser BooleanField
username CharField
first_name CharField
last_name CharField
email CharField
is_staff BooleanField
is_active BooleanField
date_joined DateTimeField
groups ManyToManyField with related name user
user_permissions ManyToManyField with related name user
========================================================
Relations
========================================================
# Found 5 external relations :
admin.LogEntry.user from auth.User.id ManyToOneRel
account.EmailAddress.user from auth.User.id ManyToOneRel
socialaccount.SocialAccount.user from auth.User.id ManyToOneRel
reversion.Revision.user from auth.User.id ManyToOneRel
polls.Vote.user from auth.User.id ManyToOneRel
========================================================
Instances
========================================================
# Found 558 instances of User