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