Получение всех комментариев определенного тега в цикле for

Я создаю BlogApp и пытаюсь реализовать функцию :-

<

Я не собираюсь показывать это в шаблоне, но позвольте мне показать вам, как я ожидаю насчет for loop :-

Tag Name (in for loop) All comments of loop tag Upvotes of all the comments of a tag
tag1 "Good", "Bad", "Car", "Bike", "Umbrella" 15
tag2 "Rain", "Mac", "CPU" 5

models.py

class BlogPost(models.Model):
    user = models.ForeinKey(User, on_delete=models.CASCADE)
    title = models.CharField(max_length=30)
    tags = TaggableManager()

class Comment(models.Model):
    comment_by = models.ForeignKey(User, on_delete=models.CASCADE)
    on_post = models.ForeignKey(BlogPost, on_delete=models.CASCADE)
    upvotes = models.ManyToManyField(User, related_name='upvotes', blank=True)

views.py

def page(request):
    # Successfully getting the tags of post which were commented by user
    query = Tag.objects.filter(blogpost__comment__comment_by =request.user).annotate(
                                                                         num_name=Count('name'))

    # Not Working
    gettingComments = Comments.objects.filter(on_post__tags__name__in=query .values_list(
                                                          'name'))

    for q1 in query:
        for q2 in gettingComments:
            if q2.upvotes.count() >= 5:
                print("Working")

    context = {'query':query}
    return render(request, 'page.html', context}

Что я делаю в цикле? :-

  • Я обращаюсь к every tag of blogpost which commented by user (Работаю).

  • Во-вторых, я открыл цикл для показа комментариев запущенного цикла, чтобы я мог сделать некоторые вычисления из upvotes.

Выход, он показывает :-

Я пытаюсь подсчитать upvotes комментариев, запущенных первыми, но он подсчитывает каждый комментарий, сделанный пользователем.

Я также попробовал это :-

    subquery = Tag.objects.filter(blogpost__comment__comment_by=request.user)

    query3 = Comment.objects.filter(post_of__tags__name__in=subquery.values_list('name'))

    for q1 in query:
        for q2 in query3 :

Но он все еще работает как раньше

Я пробовал много раз, но он все еще не работает.

Любая помощь будет очень признательна. Спасибо

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