Мне нужно переместить параметры request.POST
в request.query_params
QueryDict
.
Есть ли приемлемый способ сделать это?
Фон
IЯ использую datatables, с бэкэндом DRF, который работает нормально.Я перемещаю приложение в интеграцию и ... оно перестает работать.Зачем?URL запроса слишком большой (в диапазоне 7000 символов) - что не было проблемой для моего хоста разработчика ...
Итак, я ищу решение этой проблемы.Первое решение - использовать POST вместо GET.Это работает, но библиотека, интегрирующая DRF с таблицами данных, не обрабатывает параметры формы запроса POST.Из-за этого перестали работать фильтрация, разбиение на страницы и т. Д.
Самым простым решением для этого было бы поместить параметры формы в параметры запроса и позволить бэкэнду обрабатывать запрос, как если бы он былобычный запрос GET.
Вот что я сейчас делаю:
class DataViewSet(viewsets.ModelViewSet):
queryset = Data.objects.all()
serializer_class = DataSerializer
def create(self, request, *args, **kwargs):
# DataTable uses a lot of parameters which do not fit into a normal URL. To get the data we need to do POST,
# so that the parameters are sent in the body
# We hijack the create method to list the data
return self.list(request, *args, **kwargs)