Как получить заголовки указанного тега c, который я хочу запросить у почтальона? - PullRequest
0 голосов
/ 17 марта 2020

Я новичок и изучаю DRF, я изо всех сил пытаюсь получить заголовки указанного тега c, который я хочу запросить в почтальоне, может кто-нибудь пролить свет на это, где я ошибся ниже? Спасибо

models.py

 class BookTags(TimeStampedModel):
    class Meta:
        verbose_name = _('Tag')
        verbose_name_plural = _('Tags')
        ordering = ['-created']

    book_tags = models.CharField(
        _(u'Tag Name'),
        max_length=255,
        null=False,
        blank=False,
    )

    def __unicode__(self):
        return self.book_tags

class Title(TimeStampedModel):
    tags = models.ManyToManyField(
        "BookTags",
        verbose_name=_('tags'),
        blank=True,
    )

serializers.py

class TagSerializer(serializers.ModelSerializer):
    title_set = LibraryTitleSerializer(read_only=True, many=True)
## when read_only=True I get an empty list [{}, {}] when (many=True) only gives me an error AttributeError: Got AttributeError when attempting to get a value for field `title_set` on serializer `TagSerializer`.
The serializer field might be named incorrectly and not match any attribute or key on the `Title` instance.


    class Meta:
        model = BookTags
        fields = ['title_set']

views.py

class TagApiView(generics.ListCreateAPIView):
    serializer_class = serializers.TagSerializer
    search_fields = ['tags__book_tags']
    filter_backends = (filters.SearchFilter,)

    queryset = Title.objects.all()

Я хочу выводить заголовки, когда Я ищу теги

localhost:8000/api/tags/?search=Comedy, когда я попадаю в эту конечную точку, в ней должны быть перечислены все заголовки с тегом Comedy

[
    {'book_tags': 'Comedy',
     'title': "Title 1",
    },
    {'book_tags': 'Comedy',
     'title': "Title 2",
    }
]

urls.py

   url(r'^tags/$', views.TagApiView.as_view()),
...