Django日期时间字段已压缩到现在
请帮忙 我的模型里有这个Django日期时间字段已压缩到现在,django,datetime,django-models,field,Django,Datetime,Django Models,Field,请帮忙 我的模型里有这个 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()
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\u alert”字段收集所有实例,并将其与时区进行比较。立即使用starter函数返回,我就卡住了。这将返回所有开始时间大于现在的实例
from datetime import datetime
Notificator.objects.filter(start_alert__gte=datetime.now())
我得到了这个错误-->TypeError(“>=”在“datetime.datetime”和“DeferredAttribute”的实例之间不受支持)
classmethod
在这里没有任何用途。只需使用常规方法,并使用self
访问实例的属性。嗨,盲兔,我也尝试过这个方法,但不起作用。你想处理数据吗?如果您同时显示view.py,可能会有所帮助。您好,盲兔,我没有在views.py中使用它。我只是想把它返回到另一个模块,这将是启动函数。我没有问,但我应该在models.py中使用这段代码。在models.py中使用是否正确?我建议不要,我认为最好使用上面显示的代码来创建Notificator模型的查询集并使用它。