Обновление до Django 4.0 привело к сбою тестов, даже если тестируемая функция работает

Немного странная ситуация. Я обновился с Django 3.2 до 4.0. Многие мои тесты не работают, и все они не работают там, где я тестирую результат отправки формы. Однако сами формы работают нормально, когда я тестирую их через браузер. И все тесты завершаются одинаково с сообщением AssertionError: The form 'form' in context 166 does not contain the field 'date' (очевидно, что поле, имя формы и номер в каждом тесте разные).

Я просмотрел документы Django, чтобы узнать, не изменился ли способ тестирования форм, но я не вижу никаких упоминаний о том, что могло бы вызвать это.

Выборочный тест:

    def test_expenses_new_and_edit_ye(self):
        """ Submits expense before and after ye date, then again with edit """
        self.client.force_login(User.objects.get_or_create(username='testuser')[0])
        # Redate the most recent YE to 10 days ago
        ye = JournalEntry.objects.filter(type='YE').order_by('-id')[0]
        ye.date = (datetime.today() - relativedelta(days=10))
        ye.save()
        # Try to submit into previous financial year
        date = (datetime.today() - relativedelta(days=10)).strftime('%Y-%m-%d')
        response = self.client.post(reverse('journal:expenses_new'), {'date':date, 'account': 20, 'expense': 7, 'project': 1, 'store': 'Test store 223', 'amount': 10})
        self.assertFormError(response, 'form', 'date', 'Date must be within current financial year')

Вывод образца:

======================================================================
FAIL: test_expenses_new_and_edit_ye (journal.tests.test_main.ExpensesChecks)
Submits expense before and after ye date, then again with edit
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Users\Philip\CodeRepos\Acacia2\journal\tests\test_main.py", line 1049, in test_expenses_new_and_edit_ye
    self.assertFormError(response, 'form', 'date', 'Date must be within current financial year')
  File "C:\Users\Philip\CodeRepos\Acacia2\venv\lib\site-packages\django\test\testcases.py", line 517, in assertFormError
    self.fail(
AssertionError: The form 'form' in context 166 does not contain the field 'date'
Вернуться на верх