使用tastypie资源将查询集转换为json

时间:2012-11-26 13:37:02

标签: django tastypie

我有一个模型的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。

感谢任何帮助!

1 个答案:

答案 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'),