Проверка в def clean, чтобы увидеть, было ли очищено поле изображения - PullRequest
0 голосов
/ 16 апреля 2020

В моей функции def clean я создал проверку, чтобы увидеть, есть ли у пользователя изображение, но нет тела, что является недопустимой комбинацией.

forms.py

def clean(self):
    cleaned_data = super(ServicesForm, self).clean()

    body = cleaned_data.get('body ')  
    image = cleaned_data.get('image')

    if body != None and image == None :
        self.add_error('image', "You must provide an image if you want to save the post.")         

Это хорошо работает при создании поста. Ошибка появляется, если пользователь вводит текст в теле, но не предоставляет изображение. Однако, если пользователь возвращается к сообщению, в котором было предоставлено и тело, и изображение, и нажимает «очистить» в виджете изображения, он может сохранить форму без ошибок.

Из-за по другим причинам, я не хочу устанавливать изображение в качестве обязательного поля в этой форме. (Существует другая бизнес-логика c, которая контролирует, требуется ли изображение или нет).

Как я могу проверить в def clean (), чтобы увидеть, очистил ли пользователь изображение?

Спасибо!

...