ddb

model declaration
from django.db import models

from ddb.fields import DocField, DocTypeField, DocIndex
from ddb.manager import DocManager

class Test(models.Model):
    d = DocField()
    dt = DocTypeField('d')
    di = DocIndex('d', 'dt')

    objects = DocManager()

    def __unicode__(self):
        return '%s: %s' % (self.dt, repr(self.d))
model usage
t = Test()
t.dt = 'restaurant'
t.d.name = 'mcdonalds'
t.d.comments = ['not very good', 'ick!']
t.d.rating = 1
t.d.service = dict(cleanliness='good', quality='bad')
t.save()
index declaration
import ddb.models
ddb.models.DocIndexMapping.create(
  Test, 'd', 'restaurant', 'name', 'char_100')
ddb.models.DocIndexMapping.create(
  Test, 'd', 'restaurant', 'service.cleanliness', 'char_100')
ddb.models.DocIndexMapping.create(
  Test, 'd', 'restaurant', 'rating', 'integer')
querying
Test.objects.dfilter('restaurant', d__name__contains='mc')
Test.objects.dfilter('restaurant', d__rating__gt=5)
Test.objects.dfilter('restaurant', **{'d__service.cleanliness': 'bad'})