У меня проблема с чистым методом в Django - PullRequest
0 голосов
/ 05 августа 2020

Вот

my form.py

class DepartamentForm(forms.ModelForm):
    
   class Meta:
      model = Department
      fields = ['name','company','city', 'special_id','active']
    
      def clean_code(self):
        code = self.cleaned_data.get('special_id')
        qm = Department.objects.filter(special_id=code)
        if qm.exists():
           raise forms.ValidationError("Email jest już używany!!" )
           return code

my view.py

def dictionary_department_add(request):
    
    current_user = request.user
    if request.method == "POST":
      form = DepartamentForm(request.POST)
      if form.is_valid():
        x_form = form.save(commit=False)
        x_form.date_add = now.strftime("%Y-%m-%d %H:%M")
        x_form.user_add = current_user.username
        x_form.save()
        return redirect('/dictionaries/dictionary_department/')
       else:
          return render(request, 'add_department.html',{form': form})
    else:
       form = DepartamentForm()
       return render(request, 'add_department.html', {'form': form})

Если я попытаюсь добавить новый отдел должности с помощью этого кода, ошибка не отображается, и отправка работает по какой-то причине.

Я хочу, чтобы перед формой отправки метод проверял, существует ли поле special_id в базе данных, и если существует, то показать сообщение в форме и остановить отправку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...