手头的任务是使用 Serializer 序列化原始类型列表,比如整数或字符串,然后再次反序列化该列表。这应该很容易,但不知何故我不能让它发挥作用。我设法序列化了一个简单的模型,它看起来像这样:
{'title': u'Something', 'description': u'sldfj', 'price': Decimal('78.56'), 'numbers': [3, 2, 1]}
...所以我必须重建号码列表吗?我的序列化器看起来像这样:
class OfferSerializer(serializers.Serializer):
title = serializers.CharField()
description = serializers.CharField(required=False)
price = serializers.DecimalField()
numbers = serializers.IntegerField(required=False)
def restore_object(self, attrs, instance=None):
if instance:
for key, val in attrs.items():
setattr(instance, key, val)
return instance
return Offer(**attrs)
使用 mongoengine 可以简单地说ListField(IntField())
,一切都很好。我必须编写自己的 ListSerializer 吗?
谢谢...