Tools for debugging Django ORM, pprint models
Project description
DjangoDBU
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
djangodbu-0.1.6.tar.gz
(27.6 kB
view details)
Built Distribution
djangodbu-0.1.6-py3-none-any.whl
(25.4 kB
view details)
File details
Details for the file djangodbu-0.1.6.tar.gz
.
File metadata
- Download URL: djangodbu-0.1.6.tar.gz
- Upload date:
- Size: 27.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80ba799c7f64e34cc0c2b62ac65a0924216753626ce36198916bd7cd76a542ba |
|
MD5 | 16f975d5d0c751b5ed620d1f67736c82 |
|
BLAKE2b-256 | 0f4aab900a1b8003b2f89588bb884b344162a1e2a752dfcb0b237096963d2757 |
File details
Details for the file djangodbu-0.1.6-py3-none-any.whl
.
File metadata
- Download URL: djangodbu-0.1.6-py3-none-any.whl
- Upload date:
- Size: 25.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5c09e2968cafbaa0abc99c608d23b0b9091095b47a250eb9534a3991a8cef71 |
|
MD5 | 13eb0db3f5dbdabe0e935d2b58d4b4a7 |
|
BLAKE2b-256 | 6a2c8c282af0bbb9484a4d1d3d072bb166483573ba1e8adcdfe683429e96af86 |