小编Adr*_*ico的帖子

Django过滤查询,自动计算属性字段

有Django Order模型,属性字段自动calucated.如何进行过滤查询.

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]
Run Code Online (Sandbox Code Playgroud)

为了从今天起获得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)]
Run Code Online (Sandbox Code Playgroud)

如何通过ORM查询过滤

Order.objects.filter(expire__in=days)
Run Code Online (Sandbox Code Playgroud)

Django正在抛出错误.

FieldError: Cannot resolve keyword 'expire' into field.
Run Code Online (Sandbox Code Playgroud)

python django django-models

11
推荐指数
2
解决办法
2万
查看次数

标签 统计

django ×1

django-models ×1

python ×1