python - 如何按月从数据库组中检索数据并在 Django 中的某个月份没有值时返回零?

标签 python django

我有一个表事务表,我尝试了这个,但它给出了数据库中存在的事务。

class transactions(models.Model):    
amount=models.FloatField()
ts = models.DateTimeField(null=True)

revenueByMonth = transactions.objects.annotate(month=TruncMonth('ts')).values('month').annotate(c=Sum('amount')).values('month', 'c')

它将给出:

    <[
    {'c': 353.13, 'month': datetime.datetime(2016, 5, 1, 0, 0, tzinfo=<UTC>)}, 
    {'c': 706.26, 'month': datetime.datetime(2016, 8, 1, 0, 0, tzinfo=<UTC>)},
    {'c': 353.13, 'month': datetime.datetime(2016, 9, 1, 0, 0, tzinfo=<UTC>)},
    {'c': 706.26, 'month': datetime.datetime(2016, 10, 1, 0, 0, tzinfo=<UTC>)}, 
    {'c': 353.13, 'month': datetime.datetime(2016, 11, 1, 0, 0, tzinfo=<UTC>)}, 
    {'c': 756.26, 'month': datetime.datetime(2016, 12, 1, 0, 0, tzinfo=<UTC>)}
]>

我想要每个月的金额总和,如果一个月没有交易那么它应该返回零。所以请帮助我。

最佳答案

我不会称其为重复但 Django: Query Group By Month似乎至少为您的需要创建了一个基础。即按月分组。

现在我想要每个月的金额总和,如果一个月没有交易那么它应该返回零你可以查看Coalesce .结合这两者,您应该有自己的解决方案。

关于python - 如何按月从数据库组中检索数据并在 Django 中的某个月份没有值时返回零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41159166/

相关文章:

python - 使用 Python 操作 XML

javascript - 我可以使用 Python 和 Selenium 的正则表达式找到一个元素吗?

python - 为什么我的 matplotlib 图例总是被裁剪?

python - 如何 Pickle Django 模型

javascript - Django 中的 Bootstrap 异常慢(40 秒以上): Why?

django - 如何在 Django 中使用 QuerySet 制作夹具?

python - pd.DataFrame 在单列中打印输出

python - 如何将两个列表合并为一个列表?

javascript - 加载 CSS 和/或 JS 的 Django 问题

python - Django Rest 框架中的多个模型?