【发布时间】:2010-06-01 17:43:06
【问题描述】:
在制作查询集时,我似乎不能同时使用 annotate 和 extra 这个
discussions = game.gamediscussion_set.filter(reply_to=None).annotate(up_votes = Count('userUpVotes'), down_votes=Count('userDownVotes')).extra(select={'votes':"'userUpVotes' - 'userDownVotes'"}).order_by('votes')
返回
Caught Warning while rendering: Truncated incorrect DOUBLE value: 'userUpVotes'
我想同时添加 userUpVotes 和 userDownVotes 以获得“投票”字段,然后按此字段排序。
userUpVotes 是用户的相关 ManyToManyField(与 userDownVotes 一样)。所以我需要先数这些。
有什么想法吗?
【问题讨论】:
-
如果你把单个的引号去掉,它会起作用吗?例如
'votes': "userUpVotes - userDownVotes"? -
更新了我的问题,也做了修改。删除反逗号并没有什么不同,但是我有一个从我的新查询中引发的新错误。这是“(1054,“'字段列表'中的未知列'up_votes'”)”