0
我有由開始日期和持續時間限定的訂閱期(天)的模型:在Django濾波器使用DATEADD
class SubscriptionProduct(models.Model):
start_date = models.DateField()
duration = models.IntegerField()
我需要能夠過濾訂閱當前處於活動狀態,例如起始日期<現在<起始日期+時間
我找不到Django的方式做到這一點。我可以使用使用Postgres的DATEADD相當於間隔中原始的SQL語句,但我更喜歡使用一些內置的和非DB具體。
我認爲理想我正在尋找一個DATEADD標註方法。就像:
SubscriptionProduct.objects.annotate(end_date=DateAdd('start_date','duration').filter(start_date__lt=datetime.now, end_date__gte=datetime.now)