/ / IN演算子を使用したDjango RESTフレームワークのフィルタリング-django、django-rest-framework

IN演算子を使用したDjango RESTフレームワークのフィルタリング - django、django-rest-framework

基本的に次のようなものが必要です /?status=[active,processed] または /?status=active,processed

私の現在の設定は次のとおりです。 "DEFAULT_FILTER_BACKENDS": ("rest_framework.filters.DjangoFilterBackend",) そして、それはただ一つの値を正しくフィルタリングするだけです(/?status=active

どんな助けもありがとう。

回答:

回答№1は2

そのための組み込みの機能はないと思います。ただし、カスタムフィルタを実装してそれを行うことができます。このカスタムフィルタは、フィルタセットで使用できます。

import django_filters as df

class InListFilter(df.Filter):
"""
Expects a comma separated list
filters values in list
"""
def filter(self, qs, value):
if value:
return qs.filter(**{self.name+"__in": value.split(",")})
return qs

class MyFilterSet(df.FilterSet):
status = InListFilter(name="status")