【发布时间】:2019-03-27 03:54:01
【问题描述】:
抱歉,我在使用 raw 时遇到问题,我正在尝试将每个月的总销售额相加,但出现了错误。 这是我的视线。
class TotalSale(ListAPIView):
serializer_class = TotalSaleSerealizer
def get_queryset(self):
queryset = Sale.objects.raw("SELECT 1 id, SUM(totalprice),
to_char(datesale,'yyyy-MM') FROM sales_sale group by
to_char(datesale,'yyyy-MM')")
return queryset
我用来更改日期格式的 to_char,因此我可以计算每个月的销售额,当我直接在 Postgresql 中执行此查询时效果很好,但是当我在 django 中执行时,我不投票正确的数据。
1,'1197','2018-10'
1,'612','2018-09'
1,'1956','2018-08'
没关系,我计算每个月的销售额总和 但是当我在 Django 中这样做时,我就想到了。
{
"id": 1,
"totalprice": 144,
"datesale": "2018-08-06"
},
{
"id": 1,
"totalprice": 144,
"datesale": "2018-08-06"
},
{
"id": 1,
"totalprice": 144,
"datesale": "2018-08-06"
}
我认为错误是针对 1 id 的,只是过滤具有 id 1 的数据的数据,我的问题是为什么会发生这种情况,我该如何解决它尝试删除 1 id 但又出现一个错误,如何我可以解决这个问题吗?
【问题讨论】:
-
您提供的代码看起来可以正常工作。问题可能出在您未在此处粘贴的代码的其他部分。
标签: sql django postgresql django-rest-framework