def filter_queryset(self, queryset, view=None):
qs = super(DataViewSet, self).filter_queryset(queryset)
pk = self.kwargs.get(self.lookup_field)
tags = self.request.query_params.get('tags', None)
if tags and isinstance(tags, six.string_types):
tags = tags.split(',')
qs = qs.filter(tags__name__in=tags).distinct()
if pk:
try:
int(pk)
except ValueError:
if pk == self.public_data_endpoint:
qs = self._get_public_forms_queryset()
else:
raise ParseError(_(u"Invalid pk %(pk)s" % {'pk': pk}))
else:
qs = self._filtered_or_shared_qs(qs, pk)
return qs
评论列表
文章目录