2012-11-26 24 views
7

Tôi có một tài nguyên về nhuyễn thể cho một mô hình. Tôi cũng có một cái nhìn mà đi kèm với một queryset mà cần phải được serialized và gửi cho khách hàng. Tôi đang tìm kiếm một cách để cho tài nguyên ngon trong xử lý serialization và mất nước của queryset.Chuyển đổi một bộ truy vấn thành json bằng cách sử dụng tài nguyên trong mơ

tôi thấy rằng tôi có thể vượt qua một đối tượng duy nhất để

[Resource.build_bundle(self, obj=None, data=None, request=None)][1] 

để tạo ra một gói và sau đó vượt qua bó để

[Resource.full_dehydrate(self, bundle)][2] 

và cuối cùng gọi

[Resource.serialize(self, request, data, format, options=None)][3] 

trên dữ liệu mất nước.

Nhưng tôi muốn chuyển đổi toàn bộ truy vấn thành json và không chỉ là một đối tượng đơn lẻ. Có lẽ tất cả những gì tôi cần là một cách để chuyển đổi toàn bộ queryset thành bundle.

Mọi trợ giúp đều được đánh giá cao!

Trả lời

10

Điều này đã làm tôi thất vọng, nhưng tôi nghĩ tôi đã tìm thấy câu trả lời sau khi xem qua mã của ngon trên github.

Điều này sẽ tạo một nhóm các gói.

bundles = [Resource.build_bundle(obj=q, request=request) for q in Queryset] 

Điều này sẽ thực hiện việc mất nước.

data = [Resource.full_dehydrate(bundle) for bundle in bundles] 

Điều này sẽ thực hiện tuần tự hóa.

Resource.serialize(None, data, 'application/json'), 
Các vấn đề liên quan