Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django的博客数量_Python_Django_Django Queryset - Fatal编程技术网

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回溯