Skip to main content

Model inspection for Django

Project description

Django-inspect-model

Build Status

Django-inspect-model is a model inspection utility for Django. It allows you to easily list all available “items” on a model, and get their value.

An item is either:

  • a django field (standard field or relation field)

  • a standard attribute

  • a method that only takes one attribute: ‘self’

  • a property

The code is generic enough to be applied on just any python object, so Django isn’t a requirement. However, it was tailored towards Django models.

Install

Using pip:

pip install django-inspect-model

Usage

Instantiate inspect_model.InspectModel with your model class or instance, and profit.

>>> from django.contrib.comments.models import Comment
>>> from inspect_model import InspectModel
>>> im = InspectModel(Comment)
>>> im.fields
['comment', 'id', 'ip_address', 'is_public', 'is_removed', 'object_pk',
'submit_date', 'user_email', 'user_name', 'user_url']
>>> im.relation_fields
['content_type', 'site', 'user']
>>> im.many_fields
['flags']
>>> im.attributes
[]
>>> im.methods
['get_as_text', 'get_content_object_url']
>>> im.properties
['email', 'name', 'pk', 'url', 'userinfo']
>>> im.items
['comment', 'content_type', 'email', 'flags', 'get_as_text',
'get_content_object_url', u'id', 'ip_address', 'is_public', 'is_removed',
'name', 'object_pk', 'pk', 'site', 'submit_date', 'url', 'user',
'user_email', 'user_name', 'user_url', 'userinfo']

Hacking

Setup your environment:

git clone https://github.com/magopian/django-inspect-model.git
cd django-inspect-model

Hack and run the tests using Tox to test on all the supported python and Django versions:

make test

To build the docs:

make docs

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-inspect-model-0.7.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

django_inspect_model-0.7-py2.py3-none-any.whl (8.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-inspect-model-0.7.tar.gz.

File metadata

File hashes

Hashes for django-inspect-model-0.7.tar.gz
Algorithm Hash digest
SHA256 c33947603694fe75402f4545ba1aec5bd2dfcd76c9c005841226a782309c65b6
MD5 02823c32ba10c9ceb1206c7c3f772a42
BLAKE2b-256 74d40900605275f7450d98b5c10efdcd7eace8ead65ab1f593d0183c3718ca65

See more details on using hashes here.

File details

Details for the file django_inspect_model-0.7-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_inspect_model-0.7-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 feeb6d38cdd22ef268b074819da94209330fd0e7aa543ff94be9035c7e2230fd
MD5 3aa8e1ab83f141bd7e8ef2891b10f0e2
BLAKE2b-256 f13f1c5e2d15d4d16973aa055fea95bb0c9e29327f976196b13afc7c21350672

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