Форма проверки Django основана на нескольких полях (файловых полях) - PullRequest
2 голосов
/ 11 ноября 2010

Есть ли способ в django проверить форму, основанную на нескольких полях.Я видел несколько примеров, когда люди рекомендуют переопределить метод очистки формы и вызвать ошибку ValidationError, если она не соответствует вашей пользовательской проверке.Проблема для меня в том, что я не уверен, что вы можете проверить, был ли файл загружен из метода clean.Мне удалось получить к ним доступ только через объекты запроса, а у вас нет доступа к объекту запроса в чистом методе формы.

1 Ответ

3 голосов
/ 11 ноября 2010

Описанный вами метод (повышение ValidationError из Form.clean) является официальным способом проверки нескольких полей .

. Вы можете получить доступ к загруженным файлам из self.files по методу clean.От django/forms/forms.py:

class BaseForm(StrAndUnicode):
    # This is the main implementation of all the Form logic. Note that this
    # class is different than Form. See the comments by the Form class for more
    # information. Any improvements to the form API should be made to *this*
    # class, not to the Form class.
    def __init__(self, data=None, files=None, ...):
        self.is_bound = data is not None or files is not None
        self.data = data or {}
        self.files = files or {}
        ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...