Utilities for your Django Database
Python
Pull request Compare This branch is 2 commits ahead of disqus:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
dbutils
.gitignore
LICENSE
README.rst
setup.py

README.rst

(README needs mucho love)

attach_foreignkey

Shortcut method which handles a pythonic LEFT OUTER JOIN.

from dbutils.helpers import attach_foreignkey

qs = list(Model.objects.all())

attach_foreignkey(qs, Model.author)

queryset_to_dict

Shortcut method which stores a group of results as a dictionary by the key you specify (or primary key by default).

from dbutils.helpers import queryset_to_dict

qs = Model.objects.all()

queryset_to_dict(qs, 'author_id')

SkinnyQuerySet

A QuerySet which eliminates the in-memory result cache.

from dbutils.querysets import SkinnyQuerySet

for foo in SkinnyQuerySet(Model):
    print foo

RangeQuerySet

(See also: RangeQuerySetWrapper)

Iterates through a result set using MIN/MAX on primary key and stepping through.

Very efficient, but ORDER BY statements will not work.

from dbutils.querysets import RangeQuerySet

for foo in RangeQuerySet(Model):
    print foo

IterableQuerySetWrapper

Iterates through a QuerySet using limit and offset.

For efficiency use RangeQuerySetWrapper.

from dbutils.querysets import IterableQuerySetWrapper

for foo in IterableQuerySetWrapper(Model.objects.all()):
    print foo