Python Django过滤器注释后的十进制和
我有一个Django查询:Python Django过滤器注释后的十进制和,python,django,django-queryset,Python,Django,Django Queryset,我有一个Django查询: helpers = project.helpers.annotate(sum=Sum(u'amount')) 在数据库中,有一个助手的和十进制值为100。 当我编写下一个代码时,我有成功的价值: for helper in helpers: if helper.sum > Decimal('100'): print 'success' 但是,如果我试图与助手建立一个查询集,我会得到[]: helpers.filter(sum__gt=
helpers = project.helpers.annotate(sum=Sum(u'amount'))
在数据库中,有一个助手的和十进制值为100。
当我编写下一个代码时,我有成功的价值:
for helper in helpers:
if helper.sum > Decimal('100'):
print 'success'
但是,如果我试图与助手建立一个查询集,我会得到[]:
helpers.filter(sum__gt=Decimal('100')
Count
似乎在这里起作用,但在Sum
中不起作用。这是为什么?您是否尝试查看生成的SQL?它显示类似于选择“profiles\u profile”、“id”、…、将SUM(“amount”)按“profiles\u profile”、“id”、。。。我认为,金额>100似乎是合法的。