The QuerySet value for an exact lookup must be limited to one result using slicing-Django

前端 未结 3 1998
星月不相逢
星月不相逢 2021-01-13 00:37

I\'m building a news website.While I tried to get the list of relative news which have the same tags.The error said:The QuerySet value for an exact lookup must be li

相关标签:
3条回答
  • 2021-01-13 01:16

    I also experienced the same issue, try doing this, instead of:

    relative_news = News.objects.filter(tag=tags)

    to

    relative_news = News.objects.filter(tag=tags).first()

    0 讨论(0)
  • 2021-01-13 01:17

    Generally this error occurs when we use model queryset at the place of django models object. In the given question you have done the same. "Objects.filter" returns the model query set there can be single or multiple django model objects, but "objects.get" returns single django model object. Or we can use .last() and .first() with "objects.filter".

    0 讨论(0)
  • 2021-01-13 01:18

    The following will work:

    def newsDetailView(request, news_pk):
        news = get_object_or_404(News, id=news_pk)
        relative_news = News.objects.filter(tag__id__in=news.tag.all())
    
    0 讨论(0)
提交回复
热议问题