Настройка django-autocomplete

Сделал представление

class BrandAutocomplete(autocomplete.Select2QuerySetView):
def get_queryset(self):
    if not self.request.user.is_authenticated:
        return Brands.objects.none()

    qs = Brands.objects.all()

    print(qs)

    if self.q:
        qs = qs.filter(title_icontains=self.q)

    return qs

Создал форму

class CustomerExcludeBrandTotalForm(forms.ModelForm):
class Meta:
    model = CustomerExcludeBrand
    fields = ('supplier_email', 'brand')
    widgets = {
        'supplier_email': forms.Select(attrs={'class': 'form-select'}),
        'brand': autocomplete.ModelSelect2(url='suppliers_prices:brand-autocomplete'),
    }

Добавил

path(
    'brand-autocomplete/',
    views.BrandAutocomplete.as_view(),
    name='brand-autocomplete',
),

в шаблон добавил

{{ form.media }}

В итоге в шаблоне отображается только одно выбранное значение Brand

Что еще надо добавить, чтобы заработал подбор при вводе текста?

Нужно привязать виджет к форме;

Встройте макет поля автозаполнения непосредственно в файл forms.py, используя настраиваемый виджет ModelSelect2, связанный с именем вашего URL-адреса.

Примерно так:

widgets = {
  'brand': autocomplete.ModelSelect2(url='brand-autocomplete')
}

Фрагмент текста файла шаблона

{% csrf_token %}
  {{ formset.management_form }}
  {% for form in formset.forms %}
    **{{ form.media }}**
    <div class="card">
      <div class="card-body">{{ form.as_div }}</div>
    </div>
  {% endfor %}
Вернуться на верх