Python 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=

我有一个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=Decimal('100')

Count
似乎在这里起作用,但在
Sum
中不起作用。这是为什么?

您是否尝试查看生成的SQL?它显示类似于
选择“profiles\u profile”、“id”、…、将SUM(“amount”)按“profiles\u profile”、“id”、。。。我认为,金额>100似乎是合法的。