ValueError at /index.............Значение QuerySet для точного поиска должно быть ограничено одним результатом с помощью нарезки.

Я создаю сайт социальной медиа на django. Когда я пытаюсь перечислить все комментарии на индексной странице, я получаю эту ошибку, The QuerySet value for a exact lookup must be limited to one result using slicing.

что мне делать в этом случае

views.py....

def index(request):
if request.user.is_authenticated:
    allPost = Post.objects.all().order_by('-created_on').filter(creater = request.user)
    allBlog = Blogpost.objects.all()
    comments = PostComment.objects.filter(post=allPost)
    context = {'allPost' : allPost, 'allBlog' : allBlog, 'comments' : comments}
    return render(request, 'index.html', context)
    
else:
    return render(request, "signoption.html")

models.py....

class PostComment(models.Model):

    sno = models.AutoField(primary_key=True)

    comment = models.TextField()

    user = models.ForeignKey(User, on_delete=models.CASCADE)

    post = models.ForeignKey(Post, on_delete=models.CASCADE)

    parent = models.ForeignKey('self', on_delete=models.CASCADE, null=True)

    created_on = models.DateTimeField(default=timezone.now)

    def __str__(self):
        return str(self.sno) + '.....comment By.....' + str(self.user)

index.html....

{% for comment in comments %}
<div class="comment">
    <div class="comment-user">
        <div class="comment-usr-dp">
            <img src="{%static 'img/profile/profile.png'%}" alt="">
        </div>
    </div>
    <div class="comments-usr-usrname">
        <b><h1>{{comment.user.username}}</h1></b>
    </div>
    <div class="comment-text">
        <h1>{{comment.comment}}</h1>
     </div>
     <div class="comment-time">
        <h1>{{comment.created_on}}</h1>
     </div>
</div>
{%endfor%}

Обновить comments = PostComment.objects.filter(post=allPost) до

comments = PostComment.objects.filter(post__in=allPost)

Примечание: post__in в filter.

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