问题描述
请帮助。
我的模特中有这个。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())