Объединение данных таблицы с внешним ключом и таблицы с первичным ключом с помощью django rest api

Я хочу отобразить всех покупателей с названиями книг.

output needed:
{
"city"
"buyer_name"
"book_name"
}

У меня есть код как показано ниже, но вывод отличается, я получаю book_id вместо book_name. Как его получить? models.py

class Book(models.Model):
  book_id=models.BigAutoField(primary_key=True)
  book_name=models.CharField(max_length=50)
  def __str__(self):
     return str(self.book_id)
class Buyer(models.Model):
  buyer_id=models.BigAutoField(primar_key=True)
  buyer_name=models.CharField(max_length=50)
  book_id=models.ForeignKey(Book,on_delete=models.CASCADE)
  city=models.CharField(max_length=50)
  def __str__(self):
      return str(self.buyer_id)

serializers.py

class BookSerializer(serializers.ModelSerializer):
   class Meta:
      model=Buyer
      fields=['city','buyer_name','book_id']

views.py

@api_view(['POST']
class BuyerList(request)
  buyerlist=Buyer.objects.all()
  ser=BookSerializer(buyerlist,many=True)
  return Response(ser.data)

Я думаю, что это должно быть что-то вроде:

class BookSerializer(serializers.ModelSerializer):
   class Meta:
      model=Buyer
      fields=['city','buyer_name','book_id__book_name']
      extra_kwargs = {'book_id__book_name': {'label': 'book_name'}}

Вернуться на верх