2012-11-26 40 views
7

我有一個模型的tastypie資源。我也有一個視圖,它帶有一個需要序列化併發送到客戶端的查詢集。我正在尋找一種方法讓tastypie資源處理queryset的序列化和脫水。使用tastypie資源將查詢集轉換爲json

我看我可以通過一個單一的對象到

[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而不僅僅是一個對象。也許我需要的只是一種將完整查詢集轉換爲捆綁的方式。

任何幫助表示讚賞!

回答

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