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.

Files for django-inspect-model, version 0.7
Назва файлу, розмір File type Версія Python Дата завантаження Hashes
Назва файлу, розмір django_inspect_model-0.7-py2.py3-none-any.whl (8.3 kB) File type Wheel Версія Python 2.7 Дата завантаження Hashes View hashes
Назва файлу, розмір django-inspect-model-0.7.tar.gz (6.8 kB) File type Source Версія Python Нема Дата завантаження Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page