【发布时间】:2019-03-16 10:41:51
【问题描述】:
我正在尝试在我的项目中集成对外部库的支持。外部库需要一个精确的数据结构,用于调用 response-as-a-table。
我的模型的简单序列化器可以是:
class BookSerializer(serializers.ModelSerializer):
class Meta:
model = Book
fields = ('id', 'title', 'author')
所以,假设一个像这样的 sn-p:
queryset = Book.objects.all()
serializer = BookSerializer(queryset, many=True)
serializer.data
给出这个输出:
[
{'id': 0, 'title': 'The electric kool-aid acid test', 'author': 'Tom Wolfe'},
{'id': 1, 'title': 'If this is a man', 'author': 'Primo Levi'},
{'id': 2, 'title': 'The wind-up bird chronicle', 'author': 'Haruki Murakami'}
]
我应该如何重塑我的 BookSerializer 类来实现这个结果?我想不通。
{
'id': [0, 1, 2],
'title': ['The electric kool-aid acid test', 'If this is a man', 'The wind-up bird chronicle'],
'author': ['Tom Wolfe', 'Primo Levi', 'Haruki Murakami']
}
【问题讨论】:
-
你为什么想要这种行为?看起来你可以在你的视图中做到这一点,只需通过迭代查询集而不使用序列化程序来构建你的字典。但我不确定这是一个好方法。
-
我需要这种行为,因为绘图库需要这种数据结构:(
-
@MilesDavis 正如 Chiefir 提到的,您可以在视图级别执行此操作。
-
只转换你的查询集,你不需要序列化器
标签: django python-2.7 django-rest-framework serialization