django форма недействительна, но проверка не работает - PullRequest
0 голосов
/ 23 марта 2020

Когда я отправляю форму, она не показывает никакой ошибки проверки и форма недействительна

views.py

def institute(request):
    context = {}
    if request.POST and request.FILES:
        form = InstituteForm(request.POST, request.FILES)
        context['form'] = form
        if form.is_valid():
            form.save()
            messages.add_message(
                request, messages.SUCCESS, "Successfully Added Institute Information")
            return redirect('accounts:profile')
    else:
        context['form'] = InstituteForm()
    return render(request, 'institute.html',context)

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

forms.py

class InstituteForm(forms.ModelForm):
    class Meta:
        model = Institute
        fields = '__all__'
        exclude = ('create', 'update', 'admin')

    def clean_phone(self):
        phone = self.cleaned_data['phone']
        emp = Employee.objects.filter(phone=phone).count()
        ins = Institute.objects.filter(phone=phone).count()
        if emp > 0 or ins:
            raise ValidationError('This Phone Number is already used, try new one')
        return phone

    def clean_email(self):
        email = self.cleaned_data.get('email')
        emp = Employee.objects.filter(email=email).count()
        ins = Institute.objects.filter(email=email).count()
        if ins > 0 or emp:
            raise ValidationError('This email is already used, try new one')
        return email
...