【发布时间】:2018-10-14 06:45:53
【问题描述】:
我正在尝试序列化具有数组字段的 json 有效负载,.is_valid() 检查返回 true,但是当我尝试执行此操作时得到KeyError: 'passengers' serializer.data['passengers'] 但其他字段工作正常(例如 booking_number 和 status)。
这是我传递给序列化程序的 response.data:
{'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 serializing many to many field
【问题讨论】:
标签: django django-rest-framework django-serializer