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