Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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_Python 3.x_Django Admin - Fatal编程技术网

Python django如何在单个字典中获取状态计数

Python django如何在单个字典中获取状态计数,python,django,python-3.x,django-admin,Python,Django,Python 3.x,Django Admin,在我的用户表中,我有许多用户类型和状态(pending=0,1)= 批准)。我得到了这样的计数 使用此方法,我得到如下结果: {'pending':0',approved':1',blocked':0} 实际上我需要的是我希望通过一个查询得到相同的结果,任何人都能帮我联系一下吗??提前谢谢 你可以 结果将是一个带有状态和计数字段的查询集 然后,我们从QuerySet创建一个dict,然后我们重命名键以获得所需的字典。任何与此相关的建议??hi@narendra通过此操作,我得到的结果如下:但我想

在我的用户表中,我有许多用户类型和状态(pending=0,1)= 批准)。我得到了这样的计数

使用此方法,我得到如下结果: {'pending':0',approved':1',blocked':0} 实际上我需要的是我希望通过一个查询得到相同的结果,任何人都能帮我联系一下吗??提前谢谢

你可以

结果
将是一个带有
状态
计数
字段的
查询集


然后,我们从
QuerySet
创建一个
dict
,然后我们重命名键以获得所需的字典。

任何与此相关的建议??hi@narendra通过此操作,我得到的结果如下:但我想要的结果如下:pendingcount=0,approvedcount=1way@Himani请检查更新的答案。添加了替换键的代码。我尝试了以下操作---result=User.objects.filter(type=3,status\u in=[0,2,4])。value('status')。order\u by('status')。annotate(count=count('status'))new\u key={0':'pending',2':'approved',4':'blocked}result\u with\u new key={new key[键]:键的值,result.items()}打印(带有新键的结果),但它返回了错误:AttributeError:'QuerySet'对象没有属性'items'@Himani my bad,没有意识到添加
过滤器将返回
QuerySet
,而不是
dict
     user = {}
     user['pending'] = User.objects.filter(type=3,status='0').count()
     user['approved'] = User.objects.filter(type=3,status='2').count()
     user['blocked'] = User.objects.filter(type=3,status='4').count()
     print(user)
from django.db.models import Count


result = User.objects.filter(type=3, status__in=[0, 2, 4]).values('status')
                    .order_by('status')
                    .annotate(count=Count('status'))

# create dict
result_dict = {r.status : r.count for r in result}

# rename keys of dict
new_keys= {'0':'pending', '2':'approved', '4':'blocked'}
result_with_new_keys = {new_keys[key] : value for key, value in result.items()}