Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.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 - Fatal编程技术网

Python Django使用计数过滤不同的内容

Python Django使用计数过滤不同的内容,python,django,Python,Django,在Django中,我需要过滤数据并显示结果,如下所示。比如说 Alabama(20) Iowa(12) 这里的“阿拉巴马州,爱荷华州”是州名,括号“20,12”中是特定州的就业人数 models.py class User(models.Model): first_name= forms.CharField(max_length=30,widget=forms.TextInput()) last_name = forms.CharField(max_length=30,wi

在Django中,我需要过滤数据并显示结果,如下所示。比如说

Alabama(20)
Iowa(12)
这里的“阿拉巴马州,爱荷华州”是州名,括号“20,12”中是特定州的就业人数

models.py

class User(models.Model):
     first_name= forms.CharField(max_length=30,widget=forms.TextInput())
     last_name = forms.CharField(max_length=30,widget=forms.TextInput())
     username = forms.CharField(max_length=30,widget=forms.TextInput())
     email = forms.EmailField(widget=forms.TextInput())
     password = forms.CharField(widget=forms.PasswordInput())
     companyname = forms.CharField(max_length=30,widget=forms.TextInput())

class jobs(models.Model):
     emp = models.ForeignKey(User, unique=False)
     title = models.CharField(max_length=30)
     referencecode = models.CharField(max_length=30)
     jobsummary = models.TextField()
     jobdetails = models.TextField()
     key_skills = models.CharField(max_length=30)
     states = models.CharField(max_length=30)
我试着给出意见。py就像

def search_result(request):

     details = jobs.objects.annotate().order_by('state')
     return render_to_response('searchresult.html', {'details': details})

templates
<ul>
{% for d1 in details %}
<li>{{ d1.state }}({{ d1.count }})</li>
{% endfor %}
</ul>
def搜索结果(请求):
details=jobs.objects.annotate().order_by('state'))
返回render_to_响应('searchresult.html',{'details':details})
模板
    {详细信息中d1的百分比%}
  • {{d1.state}}({d1.count}})
  • {%endfor%}

它只显示州名称,不显示计数。给出一些说明。

这似乎有点棘手,但你可以通过引用“”来做到这一点。

你可以这样做:

from django.db.models import Count
jobs.objects.values('states').annotate(count=Count('states'))

把这个添加到你的注释中。
Count(“id”)
不起作用仍然是原来的爱荷华州()阿拉巴马州()阿拉巴马州()我觉得你的问题很困惑,请你重新措辞,我看不出你想过滤什么。
annotate(Count=Count(“id”)
-应该起作用吗它是这样显示的。谢谢你的回答。它工作得很好。现在我需要显示用户模型Id或作业模型emp_Id