Как получить категории в django

У меня есть django программа различных категорий книг, и я хочу получить книги в определенной категории. Я могу сделать это с помощью django, но при использовании rest framework я застреваю в различных местах.У меня есть следующие блоки кода:

models.py
class Category (models.Model):
    name = models.CharField(max_length=20, db_index=True)
    slug = models.SlugField(max_length=40, unique=True)
    class Meta:
        verbose_name_plural = "Categories"

        def __str__(self):
        return self.name

serializers.py
class categories_serializer(serializers.ModelSerializer):
    class Meta:
        model = Category
        fields = "__all__"

views.py
class product_CategoryView(generics.ListCreateAPIView):
    serializer_class = categories_serializer
    def get_queryset(self):
        return {
            "categories": Category.objects.all()
        }

================
class Book(models.Model):
    categories = models.ManyToManyField(Category)
    author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name="book_owner")
    name = models.CharField(max_length=150)
    slug = models.SlugField(max_length=255, blank=True, null=True)
    product_class = models.CharField(max_length=50)
    image = models.ImageField(upload_to="images/books/")
    ....

Когда я пытаюсь получить доступ к категории, используя path(book/category', views.book_CategoryView.as_view(), name="book_category"),, я сталкиваюсь со следующей ошибкой:

AttributeError at /book/category
Got AttributeError when attempting to get a value for field `name` on serializer `categories_serializer`.
The serializer field might be named incorrectly and not match any attribute or key on the `str` instance.
Original exception text was: 'str' object has no attribute 'name'.

Я не понимаю, почему я получаю эту ошибку. Как мне поступить?

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