我有一个模型的tastypie资源。我还有一个视图,它提供了一个需要序列化并发送到客户端的查询集。我正在寻找一种方法让tastypie资源处理查询集的序列化和脱水。
我看到我可以将一个对象传递给
[Resource.build_bundle(self, obj=None, data=None, request=None)][1]
创建一个包,然后将包传递给
[Resource.full_dehydrate(self, bundle)][2]
最后致电
[Resource.serialize(self, request, data, format, options=None)][3]
关于脱水数据。
但是我想将完整的查询集转换为json而不仅仅是单个对象。也许我只需要将完整的查询集转换为bundle。
感谢任何帮助!
答案 0 :(得分:10)
这也让我烦恼,但我想在找到github上的tastypie代码之后我找到了答案。
这会产生一堆捆绑。
bundles = [Resource.build_bundle(obj=q, request=request) for q in Queryset]
这将执行脱水。
data = [Resource.full_dehydrate(bundle) for bundle in bundles]
这将执行序列化。
Resource.serialize(None, data, 'application/json'),