@exctac

Django, как передать список чисел в GET запросе и валидировать их serializers.ListField?

Всем привет!

Хочу GET запросом передать список чисел во вьюху, сериалайзером валидировать этот список, но что то не так получается, не пойму в каком формате передавать список в GET, такой вид {'panels': [1,2,3]} не работает, так как он воспринимает список как строку "[1,2,3]". И кидает ошибку
{'panels': {0: [ErrorDetail(string='Требуется целочисленное значение.', code='invalid')]}}
Если передаю число {'panels': 1} то все ок, но мне нужно список передать.
class PanelsSerializer(rest_serializers.Serializer):
     panels = rest_serializers.ListField(
        required=True,
        allow_empty=False,
        allow_null=False,
        child=rest_serializers.IntegerField()
    )

class Panels(APIView):
    def get(self, request, **kwargs):
        ps = PanelsSerializer(data=request.GET)
        ps.is_valid()
  • Вопрос задан
  • 131 просмотр
Решения вопроса 1
@exctac Автор вопроса
Вспомнил как формой передаются массивы:
{'panels[1]': 1, 'panels[2]': 2, 'panels[3]': 3}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы