通用解决方案:
您可以更改
annotate日期,然后对照
timedelta(days=365)(与@Anonymous在他的评论中建议的内容非常接近)进行检查:
Test.objects.annotate( duration=F('date2') - F('date1')).filter(duration__gt=timedelta(days=365))PostgreSQL特定解决方案:
如果您正在使用
PostgreSQL,则可以从此答案中得到另一个选择:
from django.db.models import F, FuncTest.objects.annotate( duration = Func(F('date2'), F('date1'), function='age')).filter(duration__gt=timedelta(days=365))


