Python django的博客数量
我试图在Python django的博客数量,python,django,django-queryset,Python,Django,Django Queryset,我试图在views.py-author\u blog\u count中获取作者的博客数量,但它给出的值不正确。正确的方法是什么 型号。py: {% for blog in blog_list %} <div class="container" id ="main-cont"> <div class="blog" id ="blog_cont"> <a href="{% url 'blog_detail' pk
views.py
-author\u blog\u count
中获取作者的博客数量,但它给出的值不正确。正确的方法是什么
型号。py:
{% for blog in blog_list %}
<div class="container" id ="main-cont">
<div class="blog" id ="blog_cont">
<a href="{% url 'blog_detail' pk=blog.pk %}" {{ blog.title }}</a>
{{ blog.description}}<br>{{blog.sum}}
<br><br>
<form method = "blog">
{% csrf_token %}
{{form}}
</form>
<a href="{% url 'blog_detail' pk=blog.pk %}"></a></div></div>
类博客(models.Model):
author=models.ForeignKey(用户,在_delete=models.CASCADE上,相关的_name='blogger')
创建日期=models.DateTimeField(默认值=时区.now)
published_date=models.DateTimeField(blank=True,null=True)
title=models.CharField(最大长度=100)
定义(自我):
返回自己的标题
视图。py:
{% for blog in blog_list %}
<div class="container" id ="main-cont">
<div class="blog" id ="blog_cont">
<a href="{% url 'blog_detail' pk=blog.pk %}" {{ blog.title }}</a>
{{ blog.description}}<br>{{blog.sum}}
<br><br>
<form method = "blog">
{% csrf_token %}
{{form}}
</form>
<a href="{% url 'blog_detail' pk=blog.pk %}"></a></div></div>
def get_queryset(self):
return(Blog.objects.filter(published\u date\u lte=timezone.now())
。订购人(“-发布日期”)
.注释(
author\u blog\u count=count(“author\u blogger”),
author\u total\u likes=Count('author\u blogs\u likes'))
)
.annotate(总和=(F(‘作者’博客数)+F(‘作者’总喜欢数))
HTML:
{% for blog in blog_list %}
<div class="container" id ="main-cont">
<div class="blog" id ="blog_cont">
<a href="{% url 'blog_detail' pk=blog.pk %}" {{ blog.title }}</a>
{{ blog.description}}<br>{{blog.sum}}
<br><br>
<form method = "blog">
{% csrf_token %}
{{form}}
</form>
<a href="{% url 'blog_detail' pk=blog.pk %}"></a></div></div>
{%用于blog_list%}
错误:
{% for blog in blog_list %}
<div class="container" id ="main-cont">
<div class="blog" id ="blog_cont">
<a href="{% url 'blog_detail' pk=blog.pk %}" {{ blog.title }}</a>
{{ blog.description}}<br>{{blog.sum}}
<br><br>
<form method = "blog">
{% csrf_token %}
{{form}}
</form>
<a href="{% url 'blog_detail' pk=blog.pk %}"></a></div></div>
对于带有关键字参数的blog\u detail
,{'pk':''}
则相反。尝试了1个模式:['blog/blog/(?P\\d+)$']
试试这个,def get_queryset(self):
return Blog.objects.filter(...you filter).values('author').annotate(blog_count=Count('id')).order_by('author')<br><br>
我已经尝试过了,它显示了错误,因为我已经在“发布日期”上使用了过滤器,并希望根据日期显示它。我认为问题在于我使用的两个计数函数,因为如果我注释“author\u total\u likes”,那么它会给出正确的总数,否则就不正确了。但我想得到两者的总和。更新了我的视图你也可以添加回溯吗?添加了html和错误(如果我尝试你的代码)。我没有收到任何错误,只是错误的sumError回溯