【发布时间】:2017-08-26 16:34:11
【问题描述】:
我有 Product 和 ProductCategory 模型。
假设我有 ProductCategory TV,它有
Sony, Samsung 作为它的产品。我还有MobilePhone 类别,其中Apple 和Nokia 作为其产品。
使用 DRF,我想使用序列化程序获取 JSON 输出,类似于以下内容:
{
'TV':
[
'Sony':
{
'price': '$100',
'country': 'Japan',
},
'Samsung':
{
'price': '$110',
'country': 'Korea',
}
]
'mobile_phone':
[
'Apple':
{
'price': '$300',
'country': 'USA',
},
'Nokia':
{
'price': '$210',
'country': 'Finland',
}
]
}
这里的问题是序列化器中的字段names('TV', 'mobile_phone')必须是动态的。
我知道我可以得到以下 JSON 类型
{
[
{
'product_category': 'TV',
'manufacturer: 'Sony',
'price': '$100',
'country': 'Japan',
},
{
'product_category': 'TV',
'manufacturer: 'Samgsung',
'price': '$110',
'country': 'Korea',
}
]
[
{
'product_category': 'mobile_phone',
'manufacturer: 'Samgsung',
'price': '$300',
'country': 'USA',
},
{
'product_category': 'mobile_phone',
'manufacturer: 'Apple',
'price': '$210',
'country': 'Finland',
}
]
}
与
class CategorySerializer(serializers.Serializer):
product_category = serializer.CharField()
manufacturer = serializer.CharField()
price = serializer.CharField()
country = serializer.CharField()
但是动态变化的字段名称很难实现。有什么办法可以做到这一点吗?
【问题讨论】:
标签: json django serialization django-rest-framework