Я пытаюсь сериализовать полезную нагрузку json, у которой есть поле с массивом, проверка .is_valid()
возвращает true, но я получаю KeyError: 'passengers'
, когда пытаюсь сделать это serializer.data['passengers']
, но другие поля работают нормально ( например, номер_ бронирования и статус).
Это response.data, который я передаю seralizer:
{'booking_number': 2839, 'passengers': [{'first_name': 'Jack', 'surname': 'Smith', 'email': 'smith@mail.com', 'phone_number': '1234'}], 'status': 'ON_HOLD'}
Мои сепараторы:
class PassengerSerializer(serializers.ModelSerializer):
class Meta:
model = Passenger
class FindBus(serializers.ModelSerializer):
passengers = PassengerSerializer(read_only=True, many=True)
class Meta:
model = Booking
fields = ('booking_number', 'passengers', 'status')
Мои модели:
class Passenger(models.Model):
first_name = models.CharField(max_length=25)
surname = models.CharField(max_length=25)
email = models.EmailField()
phone_number = models.CharField(max_length=12)
class Booking(models.Model):
booking_number = models.IntegerField(unique=True)
passenger = models.ManyToManyField(Passenger)
status = models.CharField(max_length=10)
hold_time = models.DateTimeField()
Буду очень признателен за любые советы о том, как заставить это работать.
Кстати, я следовал за этим: Django rest framework, сериализующий многие ко многим полям