Django models django查询获取两列差值大于某个值的行

Django models django查询获取两列差值大于某个值的行,django-models,Django Models,我的模型中有一个表,其中包含一些功能,我想在Django中执行如下选择查询: SELECT * FROM TABLE WHERE column1-column2 > 10000 我尝试了filter(),但经过一点搜索,我发现我应该使用.annotate(),我将查询改为: Account.objects.annotate(realcharge=(F('charge')-F('amount')), realcharge__lt=10000) 但我得到了这个错误: 'int' objec

我的模型中有一个表,其中包含一些功能,我想在Django中执行如下选择查询:

SELECT * FROM TABLE WHERE column1-column2 > 10000
我尝试了
filter()
,但经过一点搜索,我发现我应该使用
.annotate()
,我将查询改为:

Account.objects.annotate(realcharge=(F('charge')-F('amount')), realcharge__lt=10000)
但我得到了这个错误:

'int' object has no attribute 'resolve_expression'
我应该如何编写查询?
我的django版本是1.11。

我不知道您是否还需要答案,但您可以在调用
.annotate()
后尝试
.filter()
方法,如下所示:

# Note: I split this query in 2 lines for better readability

qs = Account.objects.annotate(realcharge=(F('charge')-F('amount')))
qs = qs.filter(realcharge__lt=10000)