@Nposk

Как проверить уникальность поля Django и показать на форме?

Как вывести ошибку на форму, такая запись уже есть?
Делал так
class OidForm(forms.Form):
    oidDescription = forms.CharField(max_length=100)
    oidSlug = forms.CharField(max_length=50)
    oid = forms.CharField(max_length=100)

    oidDescription.widget.attrs.update({'class': 'form-control'})
    oidSlug.widget.attrs.update({'class': 'form-control'})
    oid.widget.attrs.update({'class': 'form-control'})

    def clean_oid(self):
        data = self.cleaned_data['oid']
        # print(self.cleaned_data)
        if Oid.objects.filter(oid=data).exists():
            raise ValidationError('Already exists')
        return self


Получил ошибку
Don't mix *args and **kwargs in call to reverse()!

Где я ошибся?
  • Вопрос задан
  • 766 просмотров
Пригласить эксперта
Ответы на вопрос 1
WStanley
@WStanley
Back-end Developer
В модели надо сделать поле уникальным unique=True
Тогда форма будет возвращать ошибку "такая запись уже есть"
ссылка на доку
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы