Задать вопрос
@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()!

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

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

Похожие вопросы
Strikt Москва
от 100 000 до 180 000 ₽
ITK academy Саратов
от 75 000 ₽
Sim-Ba Pay Санкт-Петербург
от 180 000 ₽