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