我尝试验证我的 DateField 以仅接受今天和未来的日期,但我不知道为什么它接受每个过去的日期。
我的 models.py 文件:
def present_or_future_date(value):
if value < datetime.date.today():
raise models.ValidationError("The date cannot be in the past!")
return value
class Event(models.Model):
title = models.CharField(max_length=50)
text = models.TextField()
date = models.DateField(default=datetime.now, validators=[present_or_future_date])
duration = models.TextField(default='0', blank='true')
created_at = models.DateTimeField(default=datetime.now, blank='true')
def __str__(self):
return self.title
Run Code Online (Sandbox Code Playgroud)