Python 验证Django时间
我无法确认日期。 我的目标是,如果输入的日期小于今天,则引发错误Python 验证Django时间,python,django,django-models,django-forms,Python,Django,Django Models,Django Forms,我无法确认日期。 我的目标是,如果输入的日期小于今天,则引发错误 class user_model(models.Model): name = models.CharField(max_length=20,null=True) contact = models.IntegerField(null=True) email = models.EmailField(max_length=50,null=True) date_one = models.DateField(
class user_model(models.Model):
name = models.CharField(max_length=20,null=True)
contact = models.IntegerField(null=True)
email = models.EmailField(max_length=50,null=True)
date_one = models.DateField(null=True)
def __str__(self):
return self.name
forms.py
class user(forms.ModelForm):
def clean(self):
date = self.cleaned_data['date_one']
if date < datetime.date.now()
raise forms.ValidationError('No past Date')
return date
class Meta:
model = user_model
widgets = {
'date_one': forms.DateInput(attrs={'class':'datepicker'}),
}
fields = '__all__'
class user_model(models.Model):
name = models.CharField(max_length=20,null=True)
contact = models.IntegerField(null=True)
email = models.EmailField(max_length=50,null=True)
date_one = models.DateField(null=True)
def __str__(self):
return self.name
这是错误
class user_model(models.Model):
name = models.CharField(max_length=20,null=True)
contact = models.IntegerField(null=True)
email = models.EmailField(max_length=50,null=True)
date_one = models.DateField(null=True)
def __str__(self):
return self.name
Exception Type: AttributeError
Exception Value: 'str' object has no attribute 'get'
该代码应该放入
clean\u date\u one
,而不是clean
class user_model(models.Model):
name = models.CharField(max_length=20,null=True)
contact = models.IntegerField(null=True)
email = models.EmailField(max_length=50,null=True)
date_one = models.DateField(null=True)
def __str__(self):
return self.name
def clean_date_one(self):
date = self.cleaned_data['date_one']
if date < datetime.date.now()
raise forms.ValidationError('No past Date')
return date
def clean_date_one(自):
日期=自清理的数据['date\u one']
如果日期
出现该错误的原因是
clean
用于验证整个表单,需要返回一个包含所有值的字典,而不仅仅是一个值。该代码应该放在clean\u date\u one
中,而不是clean
class user_model(models.Model):
name = models.CharField(max_length=20,null=True)
contact = models.IntegerField(null=True)
email = models.EmailField(max_length=50,null=True)
date_one = models.DateField(null=True)
def __str__(self):
return self.name
def clean_date_one(self):
date = self.cleaned_data['date_one']
if date < datetime.date.now()
raise forms.ValidationError('No past Date')
return date
def clean_date_one(自):
日期=自清理的数据['date\u one']
如果日期
出现该错误的原因是
clean
用于验证整个表单,需要返回一个包含所有值的字典,而不仅仅是一个值。是否可以发布完整的回溯?是否可以发布完整的回溯?
class user_model(models.Model):
name = models.CharField(max_length=20,null=True)
contact = models.IntegerField(null=True)
email = models.EmailField(max_length=50,null=True)
date_one = models.DateField(null=True)
def __str__(self):
return self.name