Получение всех комментариев определенного тега в цикле 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 :
Но он все еще работает как раньше
Я пробовал много раз, но он все еще не работает.
Любая помощь будет очень признательна. Спасибо