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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file djangodbu-0.1.8.tar.gz.
File metadata
- Download URL: djangodbu-0.1.8.tar.gz
- Upload date:
- Size: 37.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f622956bdcfe4e3fa121f155170d211117623fd9ec23eeaa91b2aef61ff9d888
|
|
| MD5 |
199840d2857b1500457e1d231fdd4b15
|
|
| BLAKE2b-256 |
0763d40c85e20a1fb1f2a1e3cb0063000b7f07bfc23b4e4e3db8ffe5540035b3
|
File details
Details for the file djangodbu-0.1.8-py3-none-any.whl.
File metadata
- Download URL: djangodbu-0.1.8-py3-none-any.whl
- Upload date:
- Size: 36.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1de688bb90208f5caf3035ef9601ec47bfbac35966afa35aba6732c12b43e94f
|
|
| MD5 |
6b04579e4bc3d7f60bfdd57214762adb
|
|
| BLAKE2b-256 |
aeb06777efcaf101266ea397a8c1dd8eedc63c9e2d2162b8ee8c5ce65cd0d11f
|