是否可以聚合查询集的注释?
楷模:
class Article(models.Model):
title = models.CharField(max_length=255)
body = models.TextField()
class State(models.Model):
article = Models.ForeignKey(Article)
date = DateField()
views = IntegerField()
downloads = IntegerField()
Run Code Online (Sandbox Code Playgroud)
我正在尝试执行以下操作:
articles = metrics_models.Article.objects.filter(
state__date__month=month,
state__date__year=year
).annotate(
views=Min('state__views'),
downloads=Min('state__downloads')
).aggregate(
views=Sum('views'),
downloads=Sum('downloads')
)
Run Code Online (Sandbox Code Playgroud)
错误:
Exception Type: DatabaseError
Exception Value:
column "downloads" does not exist
LINE 1: SELECT SUM(downloads), SUM(views) FROM (SELECT "metrics_arti...
Run Code Online (Sandbox Code Playgroud)
运行此程序时,我收到 DatabaseError 因为 django 尝试在“视图”和“下载”数据库列上进行聚合,而不是在注释上进行聚合。
有没有其他方法可以在 QuerySet 注释上进行这种聚合?