Я пытаюсь написать тест, чтобы проверить, принимает ли мой DataField только данные в прошлом, но он не работает должным образом.
forms.py
class BookForm(PermissionRequiredMixin, ModelForm):
class Meta:
model = Book
fields = ['title', 'author', 'summary', 'tag', 'genre', 'language', 'book_format', 'read_date']
def clean_read_date(self):
data = self.cleaned_data['read_date']
#Check date is not in future.
if data > datetime.date.today():
raise ValidationError('Invalid date - book read date in future!')
return data
test._forms.py
class BookFormTest(TestCase):
def test_book_form_date_in_futuret(self):
date = datetime.date.today() - datetime.timedelta(days=10)
form_data = {'read_date': date}
form = BookForm(data=form_data)
self.assertTrue(form.is_valid())
Кто-нибудь знает, почему мои clean_read_data не работают?
Я знаю, что, вероятно, я могу сделать это по-разному, но я прочитал, что использование clean () - лучший способ проверить, есть ли DateField в будущем или в прошлом.