2016-05-18 2 views
0

Ich brauche zwei querysets in einer einzigen Liste Methode zu übergeben, ich möchte so etwas wie dieses ...Ist es möglich, Abfrage-Sets aus mehreren Modellen (Tabellen) in einer einzigen list() - Methode von viewsets.ModelViewSet?

def list(self,request): 
    queryset1 = Algorithm1.objects.all() 
    serializer1 = Algorithm1Serializer(queryset,many=True) 
    queryset2 = Algorithm2.objects.all() 
    serializer2 = Algorithm2Serializer(queryset,many=True) 
    return Response(serializer.data) 

Wie das erreichen? Thnks im Voraus

Antwort

3

Sie ein neues Wörterbuch erstellen

result = {'serializer1': serializer1.data, 'serializer2': serializer2.data} 
return response(result) 
+0

wenn dies wie erwartet funktioniert, benutzen Sie bitte diese Antwort als akzeptierte Antwort, so dass andere markieren kann daraus profitiert werden. –

+0

danke Tarun, es funktioniert. Ich bin neu in DRF, also Zweifel ist: Kann ich die gleiche Art von returnig dict anwenden, um auch() abrufen? –

+0

Nopes, die Antwort abfangen müssen, dann verwenden Sie dict, um den Serializer für jeden Schlüssel zu initialisieren, und verwenden Sie ihn dann entsprechend. –

Verwandte Themen