McA*_*bra 7 django json django-rest-framework
我需要一个类似这样的序列化器:
{
"items": {
12: {
"name": "item 1"
},
66: {
"name": "item 2"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我应该如何声明我的序列化器来获得这样的东西?这甚至是一个有效的JSON还是看起来像这样:
{
"items": [
{
"name": "item 1",
"id": 12
}, {
"name": "item 2"
"id": 66
}
]
}
Run Code Online (Sandbox Code Playgroud)
?(12,66是那些'项'的主键)使用Django REST Framework 3.
Gab*_*Muj 11
django rest framework 3中有一个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())
Run Code Online (Sandbox Code Playgroud)
后来的序列化程序也可以是:
class ItemsSerializer(serializers.Serializer):
items = ItemSerializer(many=True)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10871 次 |
| 最近记录: |