Skip to main content

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))

Project url

djangodbu on github

djangodbu on pypi

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

djangodbu-0.1.3.tar.gz (25.8 kB view details)

Uploaded Source

Built Distribution

djangodbu-0.1.3-py3-none-any.whl (24.7 kB view details)

Uploaded Python 3

File details

Details for the file djangodbu-0.1.3.tar.gz.

File metadata

  • Download URL: djangodbu-0.1.3.tar.gz
  • Upload date:
  • Size: 25.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.9

File hashes

Hashes for djangodbu-0.1.3.tar.gz
Algorithm Hash digest
SHA256 b77e712b81a0dd0a0d54312280f6f8f495d09ec3e89cfcb71a7f54e783aba98c
MD5 88204df2729b4531b5dfc9f01fe8231a
BLAKE2b-256 99df89eb4da5cdd2922993243dc386d8f57bdd3cf77feb64e4f7445a603f122f

See more details on using hashes here.

File details

Details for the file djangodbu-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: djangodbu-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 24.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.9

File hashes

Hashes for djangodbu-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9cbc0a22af61a8a022590afd6c742afa334814e874b7d86a4b4cbe31331a24a9
MD5 b30a7ff2f4a878feff88bf4b5eb4c643
BLAKE2b-256 b38b38644a574198b7398255599763832dad8bb7dc3390c679facaee9f94478b

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