python - queryset - Django Rest Framework-Obtener campo de modelo relacionado en serializador
serializer create django (1)
Estoy tratando de devolver un HttpResponse de Django Rest Framework, que incluye datos de 2 modelos vinculados. Los modelos son:
class Wine(models.Model):
color = models.CharField(max_length=100, blank=True)
country = models.CharField(max_length=100, blank=True)
region = models.CharField(max_length=100, blank=True)
appellation = models.CharField(max_length=100, blank=True)
class Bottle(models.Model):
wine = models.ForeignKey(Wine, null=False)
user = models.ForeignKey(User, null=False, related_name=''bottles'')
Me gustaría tener un serializador para el modelo de botella que incluye información del vino relacionado.
Lo intenté:
class BottleSerializer(serializers.HyperlinkedModelSerializer):
wine = serializers.RelatedField(source=''wine'')
class Meta:
model = Bottle
fields = (''url'', ''wine.color'', ''wine.country'', ''user'', ''date_rated'', ''rating'', ''comment'', ''get_more'')
que no funciona
¿Alguna idea de cómo podría hacer eso?
Gracias :)
Tan simple como eso, agregar el WineSerializer como un campo lo resolvió.
class BottleSerializer(serializers.HyperlinkedModelSerializer):
wine = WineSerializer(source=''wine'')
class Meta:
model = Bottle
fields = (''url'', ''wine'', ''user'', ''date_rated'', ''rating'', ''comment'', ''get_more'')
con:
class WineSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Wine
fields = (''id'', ''url'', ''color'', ''country'', ''region'', ''appellation'')
Gracias por la ayuda @mariodev :)