Добавление много сериализатора в поле вложенного сериализатора

serializers.py

class BusOncomingSerializer(serializers.Serializer): idn = serializers.IntegerField(read_only=True) stops_left = serializers.IntegerField(read_only=True) class StopOncomingSerialier(serializers.Serializer): idn = serializers.IntegerField(read_only=True) buses = BusOncomingSerializer(many=True) 

У меня есть экземпляры serializer, которые действительны в списке, как показано ниже:

 buses_serializers = [bus1, bus2, bus3] # busX means instance of BusOncomingSerializer and they are valid. 

Я пытаюсь добавить эти экземпляры BusOncomingSerializer в один экземпляр StopOncomingSerializer путем:

 serializer = serializers.StopOncomingSerializers(data={"idn": 1, "buses": buses_serializers}) 

И я запустил is_valid() . Однако он поднимает:

TypeError : BusOncomingSerializer (data = {'idn': 285, 'stops_left': 7}): idn = IntegerField (read_only = True) stops_left = IntegerField (read_only = True) не является сериализуемым JSON

Должен ли я не добавлять экземпляры сериализатора со списком, есть ли другой способ?


Окружающая среда

One Solution collect form web for “Добавление много сериализатора в поле вложенного сериализатора”

Вы неправильно StopOncomingSerializer данные в StopOncomingSerializer . Вместо передачи экземпляров bus вы должны передать значения в виде списка словарей.

Пример Формат данных:

 { 'idn': 7, 'buses': [ {'idn':3, 'stops_left': 3}, {'idn': 4, 'stops_left':6} ] } 

На оболочке Python:

 In [5]: data = {'idn': 7, 'buses': [{'idn':3, 'stops_left': 3}, {'idn': 4, 'stops_left':6}]} In [6]: s1 = StopOncomingSerialier(data=data) In [7]: s1.is_valid() Out[7]: True 
Interesting Posts

Существует ли потолочный эквивалент оператора // в Python?

Индекс элементов дубликатов в списке python

Как заменить первое вхождение регулярного выражения в Python?

Почему np.compress быстрее, чем логическое индексирование?

Как настроить Apache WSGI для нескольких отдельных экземпляров Django?

Python CSV читатель пропускает 9 заголовков

как объединить два кадра данных в python pandas

Как я могу скопировать страницы CMS с сайта разработки на сайт в реальном времени?

создание совокупного процента из словаря данных

Преобразование экземпляра изображения (файла) в массив (python)

Как использовать групповое преобразование через несколько столбцов

Получить индекс недавно добавленного элемента

Как форматировать вывод печати в фиксированную ширину?

Импорт с использованием файлов pydev и .pth

Получить вывод сканера Scrapy / результаты в функции файла скрипта

Python - лучший язык программирования в мире.