Как переопределить функцию списка 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', '')