Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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中找不到正确的json查询集_Python_Json_Django_Django Views_Django Queryset - Fatal编程技术网

Python 在django中找不到正确的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中

我需要一个帮助来获取django查询,在这里我的json文件应该将这些数据作为输出。我尝试了很多方法,但我只得到了一点点,还没有完全得到。我是Django的新手,长期以来一直坚持这样做。请帮忙。谢谢:)

我可能已经尝试过在我的views.py中获取mars和jupiter的计数,如下所示,它将json作为
[{'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'}]>