Tools for debugging Django, pprint models
Project description
Tools for debugging Django
Summary
dorm: Pretty print models, querysets, etc.
ds: Search dictionaries and lists for string.
ago: Generate datetimes.
DORM - Debug Django ORM
Pretty print django objects with syntax highlighting, column layout and shorthands.
Dorm can handle: - model instances + attribute coloring + grouping + attribute values + print in parallel columns - querysets + print all rows in queryset + prints selected values (in values=[] fashion) or value from ‘callable’ + paginate, with skipt to page - query + syntax highlight - list / dict / tuple through pprint
Requirements
Python 2
Django
sqlparse
Installation
$ pip install djangodbu
Usage
Start Django shell_plus: python manage.py shell_plus
>>> from djangodbu import dorm
>>> dorm(MyModel.objects.get(id=123))
instancemethod serializable_value instancemethod set_password instancemethod set_unusable_password instancemethod unique_error_message instancemethod validate_unique unicode USERNAME_FIELD: username unicode email: some.one@example.org unicode first_name: Some unicode last_name: One unicode password: pbkdf2_sha256$20000$ unicode username: someone list REQUIRED_FIELDS: 1 long id: 357 long pk: 357 so.mo.na.AccountingUser accountinguser: 651 > 'Some One' RelatedManager additionalemail_set: 1 RelatedManager callback_set: 0 RelatedManager campaigncode_set: 0 RelatedManager grouplog: 142 ManyRelatedManager groups: 0 RelatedManager log: 379 RelatedManager logevent_set: 89 RelatedManager message_set: 11 lo.pa.to.Payment payment: 510 > 'Bob & Uncle' RelatedManager settings_set: 1 RelatedManager social_auth: 0 ManyRelatedManager user_permissions: 0 RelatedManager worker_set: 1 NoneType activationcode NoneType auth_token NoneType employee bool is_active: True bool is_superuser: False datetime.datetime date_joined: 2016-05-01 08:13:16+00:00 datetime.datetime last_login: 2016-06-20 07:48:51+00:00 type DoesNotExist: DoesNotExist classobj Meta: Meta type MultipleObjectsReturned: MultipleObjectsReturned
Printing QuerySets:
>>> dorm(MyModel.objects.all())
1: userA
2: userB
4: userD
20: userY
...
Selecting values for QuerySet:
>>> dorm(User.objects.all(), v='first_name, email')
id: firstname email
------------------------------------------------
1: abcd userA@example.org
2: efghij userB@example.org
4: kl userD@example.org
20: Mnopqrst userY@example.org
...
Print Query:
>>> dorm(User.objects.filter(email__isnull=False).exclude(first_name='kl').query)
SELECT auth_user.id,
auth_user.password,
auth_user.username,
auth_user.first_name,
auth_user.last_name,
auth_user.email
FROM auth_user WHERE (auth_user.email IS NOT NULL
AND NOT (auth_user.first_name = kl))
DS - Dictionary search
‘ds’ accepts dictionaries and lists.
Usage
>>> from djangodbu import ds
>>> ds(haystack_dict, 'needle')
>>> from dbu.utils import ds
>>> test = { 'a' : ['b', 'c'], 'd':3, 'e': { 'f':'g'}, 'h': 'i' }
>>> ds(test, 'a')
a: ['b', 'c']
>>> ds(test, 'b')
a > 0 : 'b'
>>> ds(test, 'c')
a > 1 : 'c'
>>> ds(test, 'd')
d: 3
>>> ds(test, 'e')
e: {'f': 'g'}
>>> ds(test, 'f')
e > f: 'g'
>>> ds(test, 'g')
e > f: 'g'
>>> ds(test, 'h')
h: 'i'
>>> ds(test, 'i')
h: 'i'
Project url
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file djangodbu-0.1.1.tar.gz
.
File metadata
- Download URL: djangodbu-0.1.1.tar.gz
- Upload date:
- Size: 24.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.14.0 CPython/2.7.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00772ea48e0866b63127b609fee48a757b6a9faeed2797a0697dace99e8d493f |
|
MD5 | 65b15c94ca0703f10d2c80cd17efcb57 |
|
BLAKE2b-256 | 09d9ece5b847a0230b034163081bd876cf46371a5bca77fd9f8fb48864347f07 |
File details
Details for the file djangodbu-0.1.1-py2-none-any.whl
.
File metadata
- Download URL: djangodbu-0.1.1-py2-none-any.whl
- Upload date:
- Size: 23.7 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.14.0 CPython/2.7.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20c3232725876cb8a55b70d09c2bfcc50ec956a22da108b20013f5a3ee4aee85 |
|
MD5 | 662c326d1e66df9e8a7b603d4f10a92d |
|
BLAKE2b-256 | 85fff73cedca0691f40111e65989e5efd00c7d12e65c42f910c5b5fe3a6bbf0f |