【问题标题】:How can I count total likes?我如何计算总喜欢?
【发布时间】:2022-06-22 14:05:41
【问题描述】:

我在我的博客中添加了一个赞按钮。它运行良好,但我无法计算出现的喜欢总数。我现在该怎么办?如何计算总赞数?

models.py:

class FAQ(models.Model):
    likes = models.ManyToManyField(User,default=None, related_name="faqLIKES")

views.py:

def index(request):
    allFAQ =  FAQ.objects.all()
    context = {"allFAQ":allFAQ}
    return render(request,'0_index.html',context)

【问题讨论】:

    标签: django


    【解决方案1】:

    使用count

    >>> post.likes.count() # returns a count of all likes
    

    另外,作为旁注 - 如果您在 POST 数据中获得喜欢的帖子 ID,为什么还要有一个 url 参数?为什么不只使用 url 参数?您不必从客户端发送任何表单数据。

    【讨论】:

    • 它不工作
    • 你在这里并没有给我太多的工作。你能详细说明它是如何不工作的吗?您是否在模板中调用 count 函数?如果有,请提供代码。
    • 我之前在视图中应用了它,然后在模板中应用了它。谢谢
    【解决方案2】:

    您可以.annotate(…) [Django-doc] 使用:

    from django.db.models import Count
    
    FAQ.objects.annotate(number_of_likes=Count('likes'))

    由此QuerySet 产生的FAQ 对象将具有一个额外的属性.number_of_likes。因此,您可以在模板中枚举FAQ 对象,并使用faqFAQ 对象呈现{{ faq.number_of_likes }}

    【讨论】:

      猜你喜欢
      • 2020-05-30
      • 2011-08-14
      • 2018-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-20
      • 2020-10-07
      • 1970-01-01
      相关资源
      最近更新 更多