【发布时间】:2011-09-03 18:29:49
【问题描述】:
我有以下型号:
class Process(models.Model):
title = models.Charfield(max_length=255)
date_up = models.DateTimeField(auto_now_add=True)
days_activation = models.PositiveSmallIntegerField(default=0)
现在我需要根据days_activation的值查询所有已过期的Process对象。
我试过了
from datetime import datetime, timedelta
Process.objects.filter(date_up__lte=datetime.now()-timedelta(days=F('days_activation')))
并收到以下错误消息:
TypeError:timedelta days 组件不支持的类型:F
我当然可以用 Python 来做:
filter (lambda x: x.date_up<=datetime.now() - timedelta(days=x.days_activation),
Process.objects.all ()),
但我确实需要生成一个django.db.models.query.QuerySet。
【问题讨论】: