Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 4th, 2012  |  syntax: None  |  size: 0.71 KB  |  hits: 15  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. from tastypie.fields import ListField
  2.  
  3. class TaggedResource(ModelResource):
  4.     tags = ListField()
  5.    
  6.     class Meta:
  7.         queryset = Model.objects.all()
  8.  
  9.     def build_filters(self, filters=None):
  10.         if filters is None:
  11.             filters = {}
  12.  
  13.         orm_filters = super(TaggedResource, self).build_filters(filters)
  14.  
  15.         if 'tag' in filters:
  16.             orm_filters['tags__name__in'] = filters['tag'].split(',')
  17.         return orm_filters
  18.  
  19.        
  20.     def dehydrate_tags(self, bundle):
  21.         return map(str, bundle.obj.tags.all())
  22.  
  23.  
  24.     def save_m2m(self, bundle):
  25.         tags = bundle.data.get('tags', [])
  26.         bundle.obj.tags.set(*tags)
  27.         return super(TaggedResource, self).save_m2m(bundle)