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