کد زیر یک باگ جالب داره.
1 2 3 4 5 6 7 8 |
def clean(self): cleaned_data = super().clean() if cleaned_data.get("branch").name != 'ETC' and cleaned_data.get("office") and cleaned_data.get("branch"): if cleaned_data.get("office").branch != cleaned_data.get("branch"): raise ValidationError("این اداره به اداره کل انتخاب شده مرتبط نیست") return cleaned_data |
در صورتی که branch انتخاب نشده باشه cleaned_data.get(“branch”).name این اکسپشن میده. برای اصلاحش باید یه تغییر ساده بدیم
1 2 3 4 5 6 7 8 |
def clean(self): cleaned_data = super().clean() if cleaned_data.get("branch").name != 'ETC' and cleaned_data.get("office") and cleaned_data.get("branch"): if cleaned_data.get("office").branch != cleaned_data.get("branch"): raise ValidationError("این اداره به اداره کل انتخاب شده مرتبط نیست") return cleaned_data |