2016-05-31 18 views
2

Django Rest Framework Filterを使用してデータにアクセスしています。私は2つの条件のうちの1つに答えるデータを取得する必要があります。例:Django Restフレームワークフィルター(条件付き)

Mywebsite/api/animal/?name=lion||name=frog 

||が機能していません。誰も私はこのフィルタを行うことができます知っていますか?

+0

ポストのようなフィルタ:私のURLは次のようになります

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 

エラーログ。 – Lee

+0

▫エラーログはありません。結果を繰り返すことはありません。それは正しい方法ではないので、結果を返すことは想定していません。私はこのリクエストを行うための書き込み方法を質問します – ron

+0

これはあなたが使っているものですか?[DRF Filters](https://github.com/philipn/django-rest-framework-filters)?その場合は、定義したFilterSetを投稿してください。 – C14L

答えて

0

私は多分少し古いこれを実現するが、私はこのようにそれを解決:

example.com/api/foo/?status=test1|test2|test3 

この

Foo.objects.filter(Q(status=test1)|Q(status=test2)|Q(status=test3))