2017-05-06 2 views
0

Wirklich ich habe eine fast 5-Stunden-Forschung und konnte nicht etwas finden, das so funktioniert, wie ich will.Django REST Serializer, zeigen Sie einen genauen Wert

Die Frage ist nur eine einfache, nehme ich an. Ich will für Spiel einen REST Django Framework bauen, mit Serializer usw.

Wenn ich versuche, für „Genre“ (Spiel-Genre) zu stellen, kehrt die JSON dies: Genre Serializer

Idealerweise mag ich nur zurückgeben Nur die Werte der Spielgenres ohne das lästige "GenreTitle", überall.

Mein Modell:

class Genre(models.Model): 
    GenreTitle = models.CharField(max_length=30,verbose_name = 'Title') 
    GenreDescription = models.TextField(max_length=500,verbose_name = 'Description') 
    GenreImage = models.ImageField(null=True, verbose_name='Image') 

def __str__(self): 
    return self.GenreTitle 

Mein Serializer:

class GenreSerializer(serializers.ModelSerializer): 
    class Meta: 
     model= Genre 
     fields=('GenreTitle',) 

Ich weiß, dass ein Stück des Kuchens ist für Django-Entwickler, aber ich kämpfen viel, weil ich Anfänger bin hier.

Vielen Dank im Voraus!

Antwort

1

Alles ist bereits dokumentiert schön in django rest docs

Sie müssen nur benötigten Felder umfassen, wenn Sie alle Felder wollen tun nur so:

class GenreSerializer(serializers.ModelSerializer): 
    class Meta: 
     model = Genre 
     fields = '__all__' 

Wenn Sie alles benötigen, ohne ärgerlichGenreTitle dann ausschließen es

class GenreSerializer(serializers.ModelSerializer): 
    class Meta: 
     model = Genre 
     exclude = ('GenreTitle',) 

Wenn Sie spezifische möchten:

class GenreSerializer(serializers.ModelSerializer): 
    class Meta: 
     model = Genre 
     fields = ('GenreTitle', 'GenreDescription', 'GenreImage') 
+0

Ich denke, dass meine Frage schließlich nicht klar war, sorry dafür. Wieder wollte ich nur die Daten wie "Action, Platform, Adventure" usw. statt "GenreTitel: Aktion, GenreTitel: Plattform, GenreTitel: Abenteuer" – MagiciaN

+0

Dann brauchst du Django Rest Serializer dafür nicht. Sie müssen lediglich "Response" (Genre.objects.values_list ('GenreTitle', flach = Wahr)) 'aus Ihrer Sicht zurückgeben und das ist alles. –

+0

Ich bin mir sicher, dass ich der Grund bin, dass du meine Frage verstehen kannst: P Vielleicht könnte das deutlicher machen, warum ich das machen will. Das möchte ich erreichen: https://ibb.co/h7rzBQ – MagiciaN

Verwandte Themen