2012-11-26 8 views
7

모델에 대한 tastypie 리소스가 있습니다. 또한 직렬화되어 클라이언트에게 전송되어야하는 쿼리 세트가있는 뷰가 있습니다. 나는 tastypie 리소스가 queryset의 직렬화와 탈수를 처리하도록하는 방법을 찾고있다.tastypie 리소스를 사용하여 queryset을 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] 

를 호출 할 수있는 참조 탈수 된 데이터.

하지만 하나의 객체가 아니라 전체 queryset을 json으로 변환하려고합니다. 어쩌면 내가 필요로하는 것은 전체 queryset을 번들로 변환하는 방법입니다.

도움을 주시면 감사하겠습니다.

답변

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'), 
관련 문제