这是我的PostgreSQL语句.
select round(sum("amount") filter(where "date">=now()-interval '12 months')/12,0) as avg_12month from "amountTab"
Run Code Online (Sandbox Code Playgroud)
如何在Django中使用它?
我有一个名为'Devc'的对象,其属性为'date'.
我希望得到过去12个月内的具体数据总和,而不是过去365天.
我正在查询以获取按月的苹果总数。现在我想检索并打印 的数据total_apple。
fruits= Fruits.objects\
.annotate(month = TruncMonth('sold_date'))\
.values('month')\
.annotate(total_apple=Sum('apple'))\
.order_by('-month')
Run Code Online (Sandbox Code Playgroud)
我尝试了很多方法来打印它,但返回了错误。
我试过了:
1)
total_apple= fruits['total_apple']
print(total_apple)
Run Code Online (Sandbox Code Playgroud)
2)
context['total_apple'] = total_apple
print(context)
Run Code Online (Sandbox Code Playgroud)
返回错误:
No exception message supplied
3)
print(fruits.total_apple)
Run Code Online (Sandbox Code Playgroud)
返回错误:
'QuerySet' object has no attribute 'total_apple'
但是当我尝试时print(fruits),它返回包含我想要的属性的查询集。
<QuerySet [{'month': datetime.date(2018, 10, 1), 'total_apple': 1636}, {'month': datetime.date(2018, 9, 1), 'total_apple': 1658},.....>
Run Code Online (Sandbox Code Playgroud)