DRF Аннотирует все магазины, в которых автор продает книги
В настоящее время я пытаюсь аннотировать информацию в моем Author
API: All Stores where this author have a book. У меня есть следующие модели:
class Author(models.Model):
name = models.CharField(max_length=100)
age = models.IntegerField()
class Book(models.Model):
name = models.CharField(max_length=300)
authors = models.ManyToManyField(Author, related_name='books')
class Store(models.Model):
name = models.CharField(max_length=300)
books = models.ManyToManyField(Book)
В моем методе get_queryset
я пытался сделать что-то вроде:
def get_queryset(self):
qs = Author.objects.all().annotate(
stores=F('books__stores__name')
)
return qs
но магазины возвращают только одно название магазина, а не список магазинов. может кто-нибудь подскажет, что я делаю неправильно?
Редактировать: мой текущий сериализатор:
class AuthorSerializer(ModelSerializer):
stores = serializers.CharField(max_length=300)
class Meta:
model = Author
fields = ['name', 'age', 'books', 'stores']