gpt4 book ai didi

python - Django REST 框架 - 序列化和反序列化原始类型列表

转载 作者:行者123 更新时间:2023-11-28 17:46:42 26 4
gpt4 key购买 nike

手头的任务是使用序列化器序列化基本类型列表(比如整数或字符串),然后再次反序列化该列表。这应该很容易,但不知何故我无法让它发挥作用。我设法序列化了一个简单的模型,它看起来像这样:

{'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 吗?

谢谢...

最佳答案

如果您只需要序列化,那么只需使用常规的 Field 就可以了。

如果您还需要反序列化,那么编写自定义字段类型可能是最好的选择,因为 rest 框架还没有通用列表或字典容器字段。

关于python - Django REST 框架 - 序列化和反序列化原始类型列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17256135/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com