Отключение отображения ошибок в поле формы crispy

У меня есть form для выполнения поиска. Поскольку я использую первичный ключ для поиска, процесс поиска завершается успешно, но я получал ошибку под текстовым полем, говорящую Номер счета уже существует. Я сделал некоторые настройки и прекратил показ ошибок form, но текстовое поле по-прежнему имеет красный контур всякий раз, когда я выполняю операцию поиска. Как я могу остановить form от этого?

Код в forms.py, который отключил форму для показа ошибок полей:

class InvoiceSearchForm(forms.ModelForm):
  generate_invoice = forms.BooleanField(required=False)
class Meta:
    model = Invoice
    fields = ['invoice_number', 'name','generate_invoice']

def __init__(self, *args, **kwargs):
    super(InvoiceSearchForm, self).__init__(*args, **kwargs)
    self.helper = FormHelper(self)
    self.helper.form_show_errors = False
    self.helper.error_text_inline = False
    self.form_error_title=False

HTML-код, который работает с операцией поиска:

<div class="myForm">
        <form method='POST' action=''>{% csrf_token %}
            <div class="row">
                <div class='col-sm-12'>
                    <div class="form-row">
                        <div class="form-group col-md-3">
                            {{ form.invoice_number|as_crispy_field }}
                        </div>
                        <div class="form-group col-md-3">
                            {{ form.name|as_crispy_field }}
                        </div>
                        <div class="form-group col-md-3">
                            {{ form.generate_invoice|as_crispy_field }}
                        </div>
                        <div class="form-group col-md-3">
                            <br>
                            <button type="submit" class="btn btn-primary">Search</button>
                        </div>
                    </div>
                </div>
            </div>
        </form>
    </div>

Связанные с операцией поиска views.py:

@login_required
def list_invoice(request):
  title = 'List of Invoices'
  queryset = Invoice.objects.all()
  form = InvoiceSearchForm(request.POST or None)
  context = {
    "title": title,
    "queryset": queryset,
    "form":form,
  }

  if request.method == 'POST':
       queryset = Invoice.objects.filter(invoice_number__icontains=form['invoice_number'].value(),name__icontains=form['name'].value())
context = {
    "form": form,
    "title": title,
    "queryset": queryset,
}
return render(request, "list_invoice.html", context)

Красный контур текстового поля, который я получаю после выполнения операции поиска-> Screenshot

Я думаю, что вам нужно использовать forms.Form вместо forms.ModelForm, который предназначен для создания и обновления экземпляров Модели.

Вернуться на верх