mirror of
https://github.com/pinry/pinry.git
synced 2025-11-13 16:45:41 +01:00
Taggit implemented.
This commit is contained in:
@@ -9,6 +9,8 @@ from pinry.pins.models import Pin
|
||||
|
||||
|
||||
class PinResource(ModelResource): # pylint: disable-msg=R0904
|
||||
tags = fields.ListField()
|
||||
|
||||
class Meta:
|
||||
queryset = Pin.objects.all()
|
||||
resource_name = 'pin'
|
||||
@@ -17,6 +19,24 @@ class PinResource(ModelResource): # pylint: disable-msg=R0904
|
||||
'published': ['gt'],
|
||||
}
|
||||
|
||||
def build_filters(self, filters=None):
|
||||
if filters is None:
|
||||
filters = {}
|
||||
|
||||
orm_filters = super(PinResource, self).build_filters(filters)
|
||||
|
||||
if 'tag' in filters:
|
||||
orm_filters['tags__name__in'] = filters['tag'].split(',')
|
||||
return orm_filters
|
||||
|
||||
def dehydrate_tags(self, bundle):
|
||||
return map(str, bundle.obj.tags.all())
|
||||
|
||||
def save_m2m(self, bundle):
|
||||
tags = bundle.data.get('tags', [])
|
||||
bundle.obj.tags.set(*tags)
|
||||
return super(PinResource, self).save_m2m(bundle)
|
||||
|
||||
|
||||
class UserResource(ModelResource):
|
||||
class Meta:
|
||||
|
||||
Reference in New Issue
Block a user