django - Django ORM - 获取早于记录的“持续时间”天的记录
问题描述
我有模型:
class Plan(models.Model):
date = models.DateTimeField()
duration = models.DurationField(default=30)
我想获取比today - duration
ORM 更早的记录。可能吗?也许存在类似的东西Plan.objects.filter(date__lt='self.duration')
?
解决方案
就像评论中提到的 Ivan Starostin 一样,F 表达式非常有用:
today = datetime.now()
plans = Plan.objects.filter(date__lt=today - F('duration'))