Skip to main content

Introspection tools for Django

Project description

Django Introspection

Introspection tools for Django

Install

pip install django-introspection

Usage

from introspection import AppInspector

app = AppInspector("myapp_label") # note you can also use a path: django.contrib.auth
# 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)

Management command

Print details about a model or app:

# inspect an app
python3 manage.py inspectapp auth
# or python3 manage.py inspectapp django.contrib.auth

# for a model
python3 manage.py inspectmodel auth.User
# or python3 manage.py inspectmodel django.contrib.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

Run the tests

Clone then cd in the django-introspection directory and run:

make install
make test-initial

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-introspection-0.9.0.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

django_introspection-0.9.0-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

Details for the file django-introspection-0.9.0.tar.gz.

File metadata

  • Download URL: django-introspection-0.9.0.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for django-introspection-0.9.0.tar.gz
Algorithm Hash digest
SHA256 fb45136e6d96c1af4b7e69011a50feff2754d1bc5bf7f9dde2d7e728460f00d2
MD5 fb7e01b499fa9c973ee762a89463f5e1
BLAKE2b-256 e8c23d2d724bff574b225badd1bdb5efb2b31b66991c16f97c17a5f4bae32320

See more details on using hashes here.

File details

Details for the file django_introspection-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: django_introspection-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 10.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for django_introspection-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9e7e6b20b33bdfd0d692d61aa62d0641f941b7df02909be7b02acac77c8cd36f
MD5 1e69c9124ee004683c97a2ab72e0aaf7
BLAKE2b-256 611c758724647e7060c117239e67f029e8ff6fa9474ec6164284016174efd7ac

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page