我需要一个序列化器来完成这样的事情:
{
"items": {
12: {
"name": "item 1"
},
66: {
"name": "item 2"
}
}
}
我应该如何声明我的序列化器才能得到这样的东西?这是否是一个有效的 JSON,还是应该如下所示:
{
"items": [
{
"name": "item 1",
"id": 12
}, {
"name": "item 2"
"id": 66
}
]
}
? (12、66 是这些“项目”的主键)
使用 Django REST Framework 3。
django Rest Framework 3中有一个ListField,你可以在这里查看文档http://www.django-rest-framework.org/api-guide/fields/#listfield http://www.django-rest-framework.org/api-guide/fields/#listfield
对于您的示例,您可以执行以下操作:
class ItemSerializer(serializers.Serializer):
id = serializers.IntegerField()
name = serializers.CharField()
class ItemsSerializer(serializers.Serializer):
items = serializers.ListField(child=ItemSerializer())
后面的序列化器还可以是:
class ItemsSerializer(serializers.Serializer):
items = ItemSerializer(many=True)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)