【发布时间】:2016-10-04 10:39:31
【问题描述】:
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)
我的序列化程序实例在以下列表中有效:
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可序列化
我不应该用列表添加我的序列化程序实例吗,还有其他方法吗?
环境
- python 3.5.1
- django 1.9.5
- django-rest-framework 3.3.3
【问题讨论】:
标签: python django python-3.x django-rest-framework