【发布时间】:2014-08-16 09:15:30
【问题描述】:
我想在我的 REST API - see django docs on this 中过滤查询参数。 但是,我希望过滤的一个参数只能通过模型@property 获得
示例models.py:
class Listing(models.Model):
product = models.OneToOneField(Product, related_name='listing')
...
@property
def category(self):
return self.product.assets[0].category.name
这是根据django-filter docs 为我的Listing API 设置的
class ListingFilter(django_filters.FilterSet):
product = django_filters.CharFilter(name='product__name')
category = django_filters.CharFilter(name='category') #DOES NOT WORK!!
class Meta:
model = Listing
fields = ['product','category']
class ListingList(generics.ListCreateAPIView):
queryset = Listing.objects.all()
serializer_class = ListingSerializer
filter_class = ListingFilter
如何按listing.category 适当过滤?它不能直接在列表模型上使用。
【问题讨论】:
-
对于这种情况,另一个问题的答案可能会有所帮助:stackoverflow.com/questions/14258338/…
标签: python django django-rest-framework django-filter