Python 在django中找不到正确的json查询集
我需要一个帮助来获取django查询,在这里我的json文件应该将这些数据作为输出。我尝试了很多方法,但我只得到了一点点,还没有完全得到。我是Django的新手,长期以来一直坚持这样做。请帮忙。谢谢:) 我可能已经尝试过在我的views.py中获取mars和jupiter的计数,如下所示,它将json作为Python 在django中找不到正确的json查询集,python,json,django,django-views,django-queryset,Python,Json,Django,Django Views,Django Queryset,我需要一个帮助来获取django查询,在这里我的json文件应该将这些数据作为输出。我尝试了很多方法,但我只得到了一点点,还没有完全得到。我是Django的新手,长期以来一直坚持这样做。请帮忙。谢谢:) 我可能已经尝试过在我的views.py中获取mars和jupiter的计数,如下所示,它将json作为[{'Group':'mars','count':10},{'Group':'jupiter','count':50}]现在添加了月份,这是我没有得到的,而'months'在charfield中
[{'Group':'mars','count':10},{'Group':'jupiter','count':50}]
现在添加了月份,这是我没有得到的,而'months'在charfield中
views.py
fm_ds=Details.objects.filter(Group='Jupiter',Div='Cross',Shift='Day').count()
m_ds=Details.objects.filter(Group='Mars',Div='Cross',Shift='Night').count()
Jupiter_dict={}
Jupiter_dict['Group']='Jupiter'
Jupiter_dict['count']=fm_ds
Mars_dict={}
Mars_dict['Group']='Mars'
Mars_dict['count']=m_ds
print Jupiter_dict
print Mars_dict
details_dict=[Mars_dict,Jupiter_dict]
context = {'data_json': json.dumps(details_dict)}
models.py是
class Details(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
Div=models.CharField(max_length=200,blank=True, null=True, default=None)
Group =models.CharField(max_length=200,blank=True, null=True, default=None)
Shift =models.CharField(max_length=200,blank=True, null=True, default=None)
Months=models.CharField(max_length=200,blank=True, null=True, default=None)
您可以使用
annotate
函数执行此操作,如
Details.objects.values('Group', 'months').annotate(count=Count('Group')).order_by('months')
产出将是,
<QuerySet [{'count': 5, 'months': 'December', 'Group': 'group1'},
{'count': 3, 'months': 'December', 'Group': 'group3'},
{'count': 10, 'months': 'June', 'Group': 'group1'},
{'count': 10, 'months': 'May', 'Group': 'group1'},
{'count': 6, 'months': 'May', 'Group': 'group3'}]>
Count是一个特定月份组中的人数,无论他们工作的班次是多少
希望,这就是您所寻找的,计数是特定月份特定群体的总数?是的,是特定群体中日班/夜班工作的人数@Thiagorossener你能给我看看你的模型吗?@zaidfazil我的模型被添加了。我也希望他们在换班方面。就像“朱庇特”小组在白班工作一样,6月份的计数是50,7月份是60,8月份是40。你能帮我解决这个问题吗@zaidfazilData的打印方式应与我的json显示方式完全相同!火星和木星在六月。火星和木星在7月份,所以你可以添加一个“
order\u by
子句,谢谢:)明白了!:)那么,请你帮我一个忙,把答案标记为选中的,好吗?
<QuerySet [{'count': 5, 'months': 'December', 'Group': 'group1'},
{'count': 3, 'months': 'December', 'Group': 'group3'},
{'count': 10, 'months': 'June', 'Group': 'group1'},
{'count': 10, 'months': 'May', 'Group': 'group1'},
{'count': 6, 'months': 'May', 'Group': 'group3'}]>