serializers.py anzuzeigen:Django Modell - wie Klasse Eigenschaft mit Fremdschlüssel in Ruhe api
class PostSerializer(ModelSerializer):
class Meta:
model=Post
fields=[
'author',
'title',
'content',
'likes',
]
models.py:
class User(models.Model):
name=models.CharField(max_length=255)
surname=models.CharField(max_length=255)
email=models.EmailField(max_length=255)
username=models.CharField(max_length=255)
password=models.CharField(max_length=2048)
logged_in=models.BooleanField(default=False)
def __str__(self):
self.full_name=self.name+' '+self.surname
return self.full_name
class Post(models.Model):
author=models.ForeignKey(User,on_delete=models.CASCADE)
title=models.CharField(max_length=255)
content=models.TextField()
likes=models.IntegerField(default=0)
Meine Frage ist,
Wie würden Ich zeige author.name von Post-Modell-Klasse in Rest API via Serializer, da serilizer Felder Literal-Parameternamen aus der gegebenen Klasse nehmen?
Vielleicht können verschachtelte Serialisierer helfen? http://www.django-rest-framework.org/api-guide/serializers/#specifying-nested-serialization – perfect5th
Ich denke nicht, dass es mir irgendwie helfen könnte, oder ich weiß nicht, wie man es umsetzt? Irgendein Beispiel? –
Eine andere Option könnte die Verwendung eines SerializerMethodFields sein, das mit einer get_field_name-Methode benannt wird, die den gewünschten Wert über die Beziehung erhält. Ich bin gerade unterwegs, werde aber eine Antwort schreiben, wenn ich kann. – perfect5th