Как получить атрибут внешнего ключа внутри сериализатора во фреймворке 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