Я новичок в django, поэтому не очень знаком с вещами. Я пытаюсь выполнить автозаполнение одного из фильтров файлов и клиентов для django -таблиц.
Я пытался использовать django -autocomplete-light (dal). Использование Python3 также и django версии 2.2.8. Я считаю, что dal.autocomplete не имеет Select2QuerySetView или ModelSelect2.
Я использую пример django -tables 2 для фильтрации таблицы по полям, но мой «точный» набор фильтров, такой как файлы и клиенты, - это длинные списки, которые трудно читать, поэтому я хочу иметь возможность автозаполнения поиска в фильтре формы.
Любая помощь очень ценится.
filters.py
class ClientFilesFilter(FilterSet):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
requestdatetime = django_filters.IsoDateTimeFromToRangeFilter(
lookup_expr=('icontains'),
widget=django_filters.widgets.RangeWidget(
attrs={'type':'datetime-local'}
)
)
#file = django_filters.ModelChoiceFilter(queryset=Files.objects.all(),
# widget=autocomplete.ModelSelect2(url='files-autocomplete'))
class Meta:
model = ClientFiles
fields = {"client": ["exact"], "httpstatus": ["exact"], "objectsize": ["gte"], "referrer": ["icontains"]}
views.py
class FileAutocomplete(autocomplete.Select2QuerySetView):
def get_queryset(self):
qs = Files.objects.filter(name='file_name.zip')
return qs
class FilteredPersonListView(ExportMixin, SingleTableMixin, FilterView):
table_class = ClientFilesTable
model = ClientFiles
template_name = "bootstrap_template.html"
filterset_class = ClientFilesFilter
export_formats = ("csv", "json")
def get_queryset(self):
return super().get_queryset()
def get_table_kwargs(self):
return {"template_name": "django_tables2/bootstrap.html"}.
urls.py
urlpatterns = [
path("", FilteredPersonListView.as_view(), name="filtertableview"),
path("api/", include('app.urls')),
path("admin/", admin.site.urls),
url(r'^file-autocomplete/$', FileAutocomplete.as_view(), name='file-autocomplete')
]