python - 在 django ORM 中获取分组的月份

标签 python django django-views django-queryset

到目前为止,我已尝试使用

提取月份详细信息
total_dict = MyModel.objects.values('Gender', 'DOJ').annotate(count=Count('Gender')).order_by('DOJ', 'Months')
for d in total_dict:
    d['DOJ'] = str(d['DOJ'].month)
print total_dict

输出是:

[{'DOJ': '1', 'Gender': u'Male', 'value': 1}, {'DOJ': '1', 'Gender': u'Male', 'value': 1}, {'DOJ': '1', 'Gender': u'Female', 'value': 1}] 

我想要的是将具有相同性别的条目的值添加在一起,例如而不是 {'DOJ': '1', 'Gender': u'Male', 'value': 1}, {'DOJ': '1', 'Gender': u'Male', 'value ': 1} 应该有一个条目 {'DOJ': '1', 'Gender': u'Male', 'value': 2}

我的 model.py 是

class MyModel(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
Dept=models.CharField(max_length=200,blank=True, null=True, default=None)
Gender =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)
DOJ=models.DateField(null=True)

月份字段实际上并不需要!

我怎样才能实现这个目标?

最佳答案

total_dict = MyModel.objects.annotate(month=TruncMonth('DOJ')).values('Gender', 'month').annotate(sum=Count('Gender'))

试试这个。

关于python - 在 django ORM 中获取分组的月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45351322/

相关文章:

python - 使用 requests 和 beautifulsoup 在 Python 中迭代页面

python - pandas:将多个类别合并为一个

python - 如何使用 Django 将 HTML 页面转换为 PDF

python - Django 实例建立直到崩溃站点(更新 : Redis deadlock HIGHLY suspected)

python - 是否可以在通用创建 View 表单中添加占位符?

mysql - Django + MySQL - 未知编码 : utf8mb4

python - django mysql 所有数据都消失了

django - 不存在匹配查询?

python - Django 事务 ATOMIC_REQUESTS

python - 为什么 Django 没有查看权限?