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']
Вернуться на верх