Привет, я очень новый в Джанго.Я работаю над небольшим проектом, в котором я использую модельформ.Для поля даты я хочу выполнить пользовательскую проверку, т. Е. Всякий раз, когда пользователь вводит дату до сегодняшней даты, он должен отображать сообщение об ошибке рядом с полем даты.Я написал код в соответствии с документацией Django, но он дает ValidationErrors для оператора повышения в модели формы.как ValidationError at / add_task / [u "Пожалуйста, введите действительную дату. Либо сегодняшнюю, либо после нее."]
Пожалуйста, помогите мне, как решить эту проблему.Заранее спасибо.
Коды моих моделей:
from django.db import models
class MyTask(models.Model):
summary=models.CharField(max_length=100)
description=models.CharField(max_length=500)
due_date=models.DateField(null=True)
completed_status=models.BooleanField()
def __unicode__(self):
return self.summary
Коды моей модели:
from django.forms import ModelForm, Textarea
from django.forms.extras.widgets import SelectDateWidget
from django.core.exceptions import ValidationError
from assignment.models import MyTask
import datetime
class AddTaskForm(ModelForm):
class Meta:
model=MyTask
fields=('summary','description','due_date')
widgets = {
'description': Textarea(attrs={'cols': 50, 'rows': 10}),
'due_date':SelectDateWidget(),
}
def get_due_date(self):
diff=self.cleaned_data['due_date']-datetime.date.today()
if diff.days<0:
raise ValidationError("Please enter valid date. Either today's date or after that.")
else:
return self.cleaned_data['due_date']
def get_summary(self):
return self.cleaned_data['summary']
def get_description(self):
return self.cleaned_data['description']