Django datetime字段已压缩到现在

问题描述

请帮助。

我的模特中有这个。py

class Notificator(models.Model):
    headline = models.CharField(max_length=255,default='')
    vehicle = models.ForeignKey(Vehicle,on_delete=models.CASCADE)
    start_date = models.DateTimeField()
    end_date = models.DateTimeField()
    bought_from = models.ManyToManyField(VigneteSeller,blank=True)
    start_alert = models.DateTimeField()
    start_notifying_me = models.IntegerField(default=20)
    def save(self):
        d = timedelta(days=self.start_notifying_me)
        if not self.id:
            self.start_alert = self.end_date - d
            super(Notificator,self).save()

    @classmethod
    def starter(cls):
        ready = []
        if timezone.Now() >= cls.start_alert:
            ready.append(cls.headline)
        return ready

    def __str__(self):
        return self.headline

我想要的是从“ start_alert”字段中收集所有实例,并将其与timezone.Now进行比较,然后使用启动程序函数将其返回,这很棘手。

解决方法

这将返回所有开始时间大于现在的实例

from datetime import datetime

Notificator.objects.filter(start_alert__gte=datetime.now())