twango = Django ORM + Twisted - Blocking
Switch branches/tags
Nothing to show
Latest commit c149e28 Apr 17, 2014 Greg Doermann Ignore pycharm directory.


twango = Django ORM + Twisted - Blocking
This is a library that contains a custom queryset and a custom manager that adds introspection to use
the twisted database api instead of django.  It returns deferred instead of just hitting the database.

To install:

1. Run python

2. Import and set the manager as the manager for any model

This will keep the orm from blocking when using the django orm!


You can create models that are separate to be used in twisted processes:

from myapp import Book
from twango.manager import TwistedManager
from django.db.models.manager import Manager

class TwistedBook(Book):
    objects = Manager()
    twisted = TwistedManager()

    class Meta:
        app_label = 'myapp'
        proxy = True

Then you can use the twisted manager like you would with the regular manager... just with callbacks!

def count_me(count):
    print "Count: %s" % count

def all(queryset):
    print 'All: %s' % queryset

def none(queryset):
    print 'None: %s' % queryset

def callback(*args, **kwargs):

d = Deferred()