2017-06-13 5 views
0

Ich habe eine Seite, wo es einige separate Serialisierer gibt und sie haben keine Beziehung. Anstatt sie einzeln anzurufen, möchte ich sie alle auf einmal anrufen (nur zum Auflisten, nicht zum Schreiben. Mach dir keine Gedanken über das Schreiben).Django Rest Framework verschachtelte Serializer innerhalb Nicht-Modell-Serializer

Also wollen Sie einen einzigen Serialisierer mit jedem von ihnen in ihnen als Felder (verschachtelte Serializer) erstellen.

So:

class MarkSerializer(serializers.ModelSerializer): 
    # Shows list of marks 
    class Meta: 
     model = Mark 
     fields = blah blah 

class TopCricketerSerializer(serializers.ModelSerializer): 
    # Show list of top cricketers 


and more.. 

Hier gemeinsame Serializer ist Ich plane:

CommonSerializer(serializers.Serializer): # Correct me if am using wrong serializer of if no serializer needed 
    marks = MarkSerializer(many=True) 
    top_cricketers = TopCricketerSerializer(many=True) 
    # more such non-related fields 

Bitte lassen Sie mich wissen, wenn ich nicht klar bin.

+0

so aufzunehmen, was die Frage ist? –

+0

Ich denke, die wirkliche Frage ist, wie Sie die Daten an den Serialisierer übergeben werden !! – zaidfazil

Antwort

0

Ihr Serializer sieht für schreibgeschützte Operationen gut aus. Siehe zum Beispiel this answer für weitere Informationen.

Um diesen Serializer beschreibbar zu machen (wenn dies erforderlich ist) müssen Sie create und/oder update Methoden auf Ihrem CommonSerializer als in the docs

+0

Meine Frage ist nur zum Lesen/Laden. Nur um alle auf einmal zu laden, mach dir keine Sorgen um das Schreiben. – user2349115

Verwandte Themen