2016-10-31 4 views
0

私は検索クエリセットを取るファセットメソッドを持っています。これらの出力を両方ともジャンゴレストフレームワークで直列化するにはどうすればよいでしょうか?restフレームワーク複数のユニークなクエリーセット

# This only works for results 
class SearchResultsSerializer(serializers.BaseSerializer): 
    def to_representation(self, obj): 
     return { 
      'a': obj.a, 
      'b': obj.b 
     } 

目標出力:

{ 
    "count": 0, 
    "next": "http://localhost:8000/q=Cupertino", 
    "previous": null, 
    "results": [] 
    "facets": [] # <--- can't figure out how to get this 
} 

答えて

0

ので

from rest_framework.decorators import api_view, permission_classes 
from rest_framework.response import Response 
from rest_framework import permissions 


@api_view(['GET']) 
@permission_classes((permissions.AllowAny,)) 
def my_custom_view(request): 
    queryset = build_a_queryset(request.GET.get('q', '')) 
    serialized_results = ResultsSerializer(queryset, many=True) 
    serialized_facets = FacetsSerializer(queryset, many=True) 

    return Response({ 
     'results': serialized_results.data, 
     'facets': serialized_facets.data, 
     # need to paginate on your own here 
    }) 
ページネーションなどのように、これは api_viewで達成するのは簡単ですが判明していますがビューセットに組み込まれた細かな点を失います
関連する問題