Python 使用聚合查找记录计数的差异
我的任务是使用聚合/注释将此代码写入一个查询中 我试着用计数之类的东西,但我不知道这是怎么回事Python 使用聚合查找记录计数的差异,python,django,Python,Django,我的任务是使用聚合/注释将此代码写入一个查询中 我试着用计数之类的东西,但我不知道这是怎么回事 upvotes = UserVote.objects.filter(blog=self, vote_type='U').count() downvotes = UserVote.objects.filter(blog=self, vote_type='D').count() return upvotes - downvotes 不管怎样,我是这样做的: return Blog.objects.agg
upvotes = UserVote.objects.filter(blog=self, vote_type='U').count()
downvotes = UserVote.objects.filter(blog=self, vote_type='D').count()
return upvotes - downvotes
不管怎样,我是这样做的:
return Blog.objects.aggregate(总投票数=(Count('post\U voces',filter=Q(post\U voces,filter=U)和Q(post\U voces,Blog=self))-Count('post\U voces',filter=Q(post\U voces,filter=Q)(post\U voces,Blog=self))
你看过这本书了吗?它包含了许多例子,其中确切地包含了您要做的事情。特别是最后一个备忘单的例子应该会让你走上正轨。@dirkgroten我刚刚又看到了,但对我来说有点复杂。你能详细说明并使用我上面提到的例子吗?Publisher
是你的Blog
,Book
是你的UserVote
@dirkgroten我已经做了几个小时了,但我找不到一个有效的命令。你能帮帮我吗?不管怎样,我是这样做的:return Blog.objects.aggregate(总投票数=(Count('post\U voces',filter=Q(post\U voces\U voces\U type='U')&Q(post\U voces\U Blog=self))-Count('post\U voces',filter=Q(post\U voces\U voces\U Blog=self))
如果有人适当的帮助,效果会更好。