django中大于子句的引用子查询字段

django中大于子句的引用子查询字段,django,django-queryset,Django,Django Queryset,我有一个可以用原始sql进行的查询,但我正在尝试将其转换为使用Django ORM。查询是: SELECT a.journey_pattern_ref_id FROM( SELECT * FROM journeypatterntiminglink WHERE from_stop_id = '0180BAC30249' ) a, journeypatterntiminglink b WHERE a.journey_pattern_ref_id = b.journey_

我有一个可以用原始sql进行的查询,但我正在尝试将其转换为使用Django ORM。查询是:

 SELECT a.journey_pattern_ref_id
 FROM(
     SELECT * FROM journeypatterntiminglink
     WHERE from_stop_id = '0180BAC30249'
 ) a,
 journeypatterntiminglink b
 WHERE a.journey_pattern_ref_id = b.journey_pattern_ref_id
 AND b.to_stop_id = '0180BAC30035'
 AND b.to_seq_no > a.from_seq_no;
给我带来麻烦的部分是
b.to\u seq\u no>a.from\u seq\u no
。到目前为止我有

jps = (JourneyPattern.objects                                                                                                       
           .filter(journeypatterntiminglink__from_stop=origin)
           .filter(journeypatterntiminglink__to_stop=destination)) 
那么,您应该使用来引用查询构造中的其他字段,而不是常量

从你的问题中推断出你的模型的定义应该是这样的:

from django.db.models import F

jps = (JourneyPattern.objects
       .filter(journeypatterntiminglink__from_stop=origin)
       .filter(journeypatterntiminglink__to_stop=destination)
       .filter(journeypatterntiminglink__to_seq_no__gt=F('journeypatterntiminglink__from_seq_no'))

我的答案不管用吗?