我需要编写django raw查询函数来获取sum值然后写入csn文件。 我写了我的查询
for time in Tracking_details.objects.raw('SELECT *,sum=SUM(work_time) FROM structure_tracking_details WHERE employee_id='+ employee_id + ' GROUP BY project_structure ') :
writer.writerow([ time.project_structure,time.sum ])
告诉
没有这样的栏目:总和
如何正确编写查询?
答案 0 :(得分:2)
将sum=SUM(work_time)
替换为SUM(work_time) AS sum
。
BTW,employee_id='+ employee_id + '
是一种非常糟糕的构建查询的方式。你不应该这样做。它使您的查询倾向于SQL注入,因为Django不会检查您在raw()
函数中传递的任何查询。您可以将参数传递给原始查询,如下所示 -
Tracking_details.objects.raw('SELECT *, SUM(work_time) AS sum FROM structure_tracking_details WHERE employee_id = %s GROUP BY project_structure', [employee_id])