我有一个序列化器类返回"single"数据好,比如:
class MySerializer(serializers.Serializer):
num: Decimal = serializers.DecimalField(max_digits=10, decimal_places=4, required=True
uid: str = serializers.CharField(max_length=30, required=True)
.
我想给这个序列化器添加一个参数(other),它将返回一个字典列表,但是我不知道怎么做。
other的结构是这样的:
[
{'p1': int,
'p2': int,
'p3': {another dict which has already a serializer class}
}
]
实现这一目标的方法是什么?
如果我添加序列化器。DictField或序列化器。ListField总是返回'list'对象没有属性'items' attributeerror ';或PoCo类型的对象不是JSON可序列化的。少是我的一个类。
使用serializers.SerializerMethodField.
class MySerializer(serializers.Serializer):
num: Decimal = serializers.DecimalField(max_digits=10, decimal_places=4, required=True
uid: str = serializers.CharField(max_length=30, required=True)
other = serializers.SerializerMethodField("get_other_filed)
def get_other_field(self,obj):
result = {} # Your dict
return result