首页 > 解决方案 > Django ORM - 获取早于记录的“持续时间”天的记录

问题描述

我有模型:

class Plan(models.Model):
  date = models.DateTimeField()
  duration = models.DurationField(default=30)

我想获取比today - durationORM 更早的记录。可能吗?也许存在类似的东西Plan.objects.filter(date__lt='self.duration')

标签: djangodjango-orm

解决方案


就像评论中提到的 Ivan Starostin 一样,F 表达式非常有用:

today = datetime.now()
plans = Plan.objects.filter(date__lt=today - F('duration'))

推荐阅读