【发布时间】:2015-07-27 16:47:47
【问题描述】:
有自动计算属性字段的 Django Order 模型。如何进行过滤查询。
class Order(models.Model):
@property
def expire(self):
return self.created + datetime.timedelta(days=self.days_left())
@property
def days_left(self):
return self.recurrence_period * self._recurrence_unit_days[self.recurrence_unit]
从今天开始计算得到 1,3,7 日期时间天
settings.SUBSCRIPTION_EXPIRATION_REMIND = [1, 3, 7]
days = map(lambda x: datetime.date.today() + datetime.timedelta(days=x), settings.SUBSCRIPTION_EXPIRATION_REMIND)
[datetime.date(2015, 7, 28),
datetime.date(2015, 7, 30),
datetime.date(2015, 8, 3)]
如何通过ORM查询过滤
Order.objects.filter(expire__in=days)
Django 抛出错误。
FieldError: Cannot resolve keyword 'expire' into field.
【问题讨论】:
-
我想,我知道这是不可能的,但是如何绕过它
标签: python django django-models