В моей форме есть необязательное поле с именем into_alias
.Когда form.valid () вызывается на мой взгляд, он пытается запустить clean_into_alias
для проверки этого поля.
Однако, если значение для поля не указано, оно все еще пытается очистить его, и я получаю эту ошибку:
DoesNotExist at /department/b6c1f70de01d488faac5247f54414b5f/merge/delete
{'name_short': ''}
forms.py
class DeptMergeDeleteForm(forms.Form):
def __init__(self, *args, **kwargs):
self.department = kwargs.pop('department', None)
super(DeptMergeDeleteForm, self).__init__(*args, **kwargs)
into_alias = forms.CharField(
required = False,
max_length = 51,
label = mark_safe("""When you delete this department, do you want to merge its members into another department? If so, please provide the alias of the department that you want to merge these employees into "e.g. @tech_support")"""),
validators=[valid_dept_alias_chars, valid_dept_alias_exists,],
)
def clean_into_alias(self):
dept_drop = self.department
data = self.cleaned_data['into_alias']
dept_into = Department.nodes.get(name_short=data) #<------- ERROR -------
if dept_into == dept_drop:
raise ValidationError("You cannot merge your members into the same department that you are about to drop ;)")
# return the cleaned data
return data
Может быть {'name_short': ''}
это пустая строка, а не None?Я вижу в моих местных переменных, что data =''