我想用django-filter过滤我的模型。如果我按一个id过滤,效果很好:
http://localhost:8000/accommodations?accommodationType_id=1
但我不知道如何通过多个id进行过滤。在
^{pr2}$我的实际ViewSet
如下所示:
class AccommodationViewSet(viewsets.ReadOnlyModelViewSet):
"""
REST API endpoint for 'accommodation' resource
"""
queryset = Accommodation.objects.all()
serializer_class = AccommodationSerializer
filter_backends = (filters.DjangoFilterBackend,)
filter_fields = ('accommodationType_id', 'name')
我希望有一个解决办法。在
我找到了以下解决问题的方法:)
https://gist.github.com/aBuder/654fb945f085b17358d8
我知道这是一个老问题,但也许值得给出一个更新的答案。在
Django过滤器贡献者添加了一个名为
BaseInFilter
的字段,您可以将其与其他过滤器组合起来验证内容。在参见文档: https://django-filter.readthedocs.io/en/latest/ref/filters.html#baseinfilter
例如,这在您的案例中是可行的:
然后您就可以通过id列表进行筛选:
http://localhost:8000/accommodations?accommodationType_id_in=1,2
相关问题 更多 >
编程相关推荐