楷模:
class Category(models.Model):
name = models.CharField(max_length=100)
class Operation(models.Model):
date = models.DateField()
value = models.DecimalField(max_digits = 9, decimal_places = 2)
category = models.ForeignKey(Category, null = True)
comments = models.TextField(null = True)
现在我想创建一个包含 13 列的视图:
类别名称 | -11 | -10 | -9 | ... | -1 | 0
例如。
...食物.. | $123.00 | 100.14 美元 | ... | $120.13| 54.12
美元。衣服。| 555.23 美元 | 232.23 美元 | ... | $200.12| 84.44 美元
例如,其中 123.00 美元是 11 个月前制造的食品类别的运营价值总和,100.14 美元 - 10 个月前等等 - 54.12 美元是当月的总和,555.23 => 相同但类别服装...
我搜索了很多,但大多数示例都很简单 - 没有相关类(类别)
答案1建议后的正确答案:
def get_month_sum_series(self):
import qsstats, datetime
from django.db.models import Sum
qss = qsstats.QuerySetStats(self.operation_set.all(), date_field='date', aggregate_field='value',aggregate_class=Sum)
today = datetime.date.today()
year_ago = today - datetime.timedelta(days=365)
return qss.time_series( start_date=year_ago, end_date=today, interval='months')