Как переопределить функцию списка ModeViewSet для фильтрации нескольких значений одних и тех же параметров в Django?
В настоящее время вот как выглядит мой код -
class MyModelViewSet(viewsets.ModelViewSet):
queryset = MyModel.objects.all()
serializer_class = MyModelSerializer
def list(self, request):
query_dict = QueryDict(request.META['QUERY_STRING'])
query_dict = query_dict.dict()
self.queryset = MyModel.objects.filter(**query_dict)
return super().list(reuqest)
Теперь, если я вызываю конечную точку с помощью api, как /api/url/?param1=79¶m2=34
, она работает нормально. Предполагая, что param1
и param2
- это два поля, присутствующие в MyModel
. Но если попытаться сделать это - /api/url/?param1=79¶m2=34¶m1=45¶m2=576
, то возвращается результат param1=45
И param2=576
. Что вполне понятно, поскольку я использую dict для разбора параметров запроса.
Но я хочу получить результаты комбинации param1=79¶m2=34¶m1=45¶m2=576
. Как этого добиться?
Вы пробовали это?
params1 = request.query_params.getlist('param1', '')