Я пытаюсь предотвратить вмешательство пользователя в скрытое поле формы, проверяя представление следующим образом:
if form.fields["email"].has_changed():
form.add_error(
"email",
ValidationError(
"Email does not correspond to user", code="invalid_email",
),
)
но я получаю следующее TypeError:
В has_changed() отсутствуют 2 обязательных позиционных аргумента: «начальный» и «данные».
На данный момент form
— это «связанная форма», которая, кстати, прошла через пользователя и POST-запрос.
Изучив саму функцию, я обнаружил, что у нее есть два необязательных параметра, но в документации они вообще не упоминаются, и мне не слишком ясно, что я должен передать в любом случае: если я должен предоставить начальное значение и новое ценить себя, я мог бы просто сравнить их самостоятельно без необходимости в этом методе. Что мне не хватает?
Мне также пришло в голову, что мне просто нужно сделать поле отключенным, и любое измененное значение будет проигнорировано, но тем не менее мне любопытно.