Как получить атрибут внешнего ключа внутри сериализатора во фреймворке Django REST?
У меня есть две модели с именами Market
, Exchange
class Exchange(models.Model):
name = models.CharField(max_length=20)
class Market(models.Model):
exchange = models.ForeignKey(Exchange, on_delete=models.CASCADE)
price = models.FloatField(default=0.0)
Мне нужно получить name
поле в Exchange
модели внутри MarketSerializer
->
class MarketSerializer(serializers.ModelSerializer):
class Meta:
model = Market
fields = ('exchange_name', 'price', )
Как я могу это сделать?
Вы можете архивировать эти вещи, используя SerializerMethodField()
вот так
class MarketSerializer(serializers.ModelSerializer):
exchange_name = serializers.SerializerMethodField()
class Meta:
model = Market
fields = ('exchange_name', 'price', )
def get_exchange_name(self, obj):
return obj.exchange.name