2
我正在使用Django Rest框架过滤器来访问我的数据。我需要获取满足以下两个条件之一的数据。例如:Django其他框架过滤条件或条件
Mywebsite/api/animal/?name=lion||name=frog
||
不起作用。有谁知道我该怎么做这个过滤器?
我正在使用Django Rest框架过滤器来访问我的数据。我需要获取满足以下两个条件之一的数据。例如:Django其他框架过滤条件或条件
Mywebsite/api/animal/?name=lion||name=frog
||
不起作用。有谁知道我该怎么做这个过滤器?
我意识到这也许有点老了,但我解决了这个问题是这样的:
from django.db.models import Q
class FooViewSet(viewsets.ModelViewSet):
queryset = Foo.objects.all()
status = self.request.query_params.get('status', None)
def get_queryset(self):
if status is not None:
status = status.split('|')
query = Q()
for x in status:
q = Q(status=x)
query |= q
queryset = queryset.filter(query)
return queryset
然后我的网址是这样的:
example.com/api/foo/?status=test1|test2|test3
和过滤器这样
Foo.objects.filter(Q(status=test1)|Q(status=test2)|Q(status=test3))
帖子你的错误日志。 – Lee
Â没有错误日志..它只是不重复任何结果。它不假定返回结果,因为它不是正确的方法。我的问题是什么是写这种请求的方式 – ron
这是你正在使用的一个:[DRF Filters](https://github.com/philipn/django-rest-framework-filters)?如果是这样,请发布您定义的FilterSet。 – C14L