我有一个模型:
class Examle(models.Model):
date = models.DateTime(auto_add_now=True)
duration = models.IntegerField(default=90) # days
我想像这样过滤它:
Example.objects.filter(date_lt=datetime.today() - timedelta(days=F('duration')))
当然timedelta
不会将F-object作为有效参数,但希望你明白我的意思。
最佳答案
您无法将 F
传递给 timedelta
,但您可以使用它进行计算:
timedelta(days=1) * F('duration')
或者,如果您使用的是 Django 2.x,请尝试:
Example.objects.annotate(days_before_today=ExtractDay(datetime.today() - F('date'))\
.filter(days_before_today__gte=F('duration'))
关于python - Django 过滤对象 F ('duration' ) 从现在开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55144997/