【发布时间】:2016-03-03 01:51:35
【问题描述】:
我有一个按开始日期和持续时间(以天为单位)定义订阅期的模型:
class SubscriptionProduct(models.Model):
start_date = models.DateField()
duration = models.IntegerField()
我需要能够过滤当前处于活动状态的订阅,例如开始日期
我找不到 django 的方式来做到这一点。我可以使用使用 postgres 的 DATEADD 等效于 INTERVAL 的原始 SQL 语句,但我更喜欢使用内置的和非数据库特定的东西。
我假设理想情况下我正在寻找一个 dateadd 注释方法。比如:
SubscriptionProduct.objects.annotate(end_date=DateAdd('start_date','duration').filter(start_date__lt=datetime.now, end_date__gte=datetime.now)
【问题讨论】:
标签: python django postgresql django-orm