Предполагая, что у меня есть классы модели как,
class Estudiante(models.Model):
nombre = models.CharField(..)
...
class Invitado(models.Model):
invitadoi = models.ForeignKey(Estudiante)
...
class Respuesta(models.Model):
nombrer = models.ForeignKey(Invitado, related_name = "invitado")
...
Как я могу создать сериализатор Respuesta и получить поле nombre модели Estudiante в результате json?





вы можете попробовать вот так:
class RespuestaSerializer(serializers.ModelSerializer):
nombre_estudiante = serializers.SerializerMethodField()
def get_nombre_estudiante(self, obj):
if obj.nombrer and obj.nombrer.invitadoi:
return obj.nombrer.invitadoi.nombre
class Meta:
model = Respuesta
fields = ['nombre_estudiante']
используйте source='nombrer.invitadoi.nombre' в сериализаторе как
class RespuestaSerializer(serializers.ModelSerializer):
nombre = serializers.CharField(source='nombrer.invitadoi.nombre')
class Meta:
fields = ('nombre',) # other fields
model = Respuesta
Вы хотите использовать
serializers.SerializermethodField()