1
我想通过预先汇总的数据集来完成一个组,然后使用ModelAdmin加入该数据。因此,对于各种实体,我希望显示类似于Google Analytics(分析)的汇总数据。如何使用Django中的管理查询集加入groupby子查询
我对实体
class Link(AnalyticalObject):
name = models.CharField(max_length=60)
url = models.CharField(max_length=60)
slug = models.SlugField(unique=True)
description = models.TextField()
的模型和汇总数据
class LinkByDayAnalytic(models.Model):
project = models.ForeignKey(Project)
link = models.ForeignKey(Link)
day = models.DateField(db_index=True)
clicks = models.IntegerField()
emails = models.IntegerField()
purchases = models.IntegerField()
revenue = models.FloatField()
,我试图修改查询集上的ModelAdmin做GROUPBY并加入一个模型数据与项目(在这种情况下的链接)。
def get_queryset(self, request):
qs = super(ProjectAdmin, self).get_queryset(request)
'''
Do analytics query
'''
qs.annotate(newcol=RawSQL("select lander_id, SUM(purchases) as purchases FROM manager_campaignbydayanalytic GROUP BY lander_id",[]))
print qs.query
#qs.
return qs
我附上了这个截图来说明我想要的结果。我似乎无法将我的头围绕注释,附加和额外。
什么是你的子查询中的'lander_id'和'manager_campaignbydayanalytic'? – GwynBleidD