python - 无法在 django 中找出正确的 json 查询集

标签 python json django django-views django-queryset

我需要帮助来获取 django 查询,其中我的 json 文件应该将此数据作为输出。我尝试了很多方法,但我得到的只是一些碎片,而不是完全。我是 Django 的新手,并且已经坚持了很长时间。请帮忙。谢谢:)

[{
  "Group": "Mars",
  "count": 10,
  "Months": "June"
}, {
  "Group": "Jupiter",
  "count": 50,
  "Months": "June"
}, {
  "Group": "Mars",
  "count": 70,
  "Months": "July"
}, {
  "Group": "Jupiter",
  "count": 60,
  "Months": "July"
}, {
  "Group": "Mars",
  "count": 30,
  "Months": "August"
}, {
  "Group": "Jupiter",
  "count": 40,
  "Months": "August"
}];

我可能尝试在 view.py 中获取火星和木星的计数,如下所示,其中 json 为 [{'Group':'Mars','count':10},{'Group': 'Jupiter','count':50}] 现在添加了月份,这是我没有得到的,而“月份”位于 charfield 中。

View .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'}]>

计数是特定月份某个群组中的人数,无论其工作的类次如何。

希望,这就是您正在寻找的,

关于python - 无法在 django 中找出正确的 json 查询集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45279117/

相关文章:

python - 托管 Flask(Python) 应用程序抛出 CGI 错误

python - 从文本文件创建字典

django - 在 Heroku 上运行 Django 和 Neo4j

python - django 中的 kwargs - 如何将 unique() 放入 kwargs

python - 在两个用户之间共享临时数据的正确方法

python - 如何让服务器监听 TCP 和 UDP?

android - 将 JSON String 转换为 JSON Array 并显示在 ListView 中

json - 将 fnRender 与 ajax 源数据表结合使用

c# - 如何统一使用 JsonUtility 获取子数组

python - 为什么形状是空的?