Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django Autocomplete灯光不适用于Django过滤器_Django_Django Forms_Django Filter_Django Autocomplete Light - Fatal编程技术网

Django Autocomplete灯光不适用于Django过滤器

Django Autocomplete灯光不适用于Django过滤器,django,django-forms,django-filter,django-autocomplete-light,Django,Django Forms,Django Filter,Django Autocomplete Light,我正在尝试使用带有Django过滤器的Django自动完成灯光。我已经编写了以下代码。也尝试了不同的解决方案,但对我来说没有任何效果。下拉列表中会显示一个空列表 设置.py INSTALLED_APPS = [ 'dal', 'dal_select2', 'django.contrib.admin', # ............ ] class OrderFilter(django_filters.FilterSet): user = django_

我正在尝试使用带有Django过滤器的Django自动完成灯光。我已经编写了以下代码。也尝试了不同的解决方案,但对我来说没有任何效果。下拉列表中会显示一个空列表

设置.py

INSTALLED_APPS = [
    'dal',
    'dal_select2',

    'django.contrib.admin',
    # ............
]
class OrderFilter(django_filters.FilterSet):
    user = django_filters.ModelChoiceFilter(
        label='Username', queryset=User.objects.all(),
        empty_label="All",
        # lookup_expr='icontains',
        widget=autocomplete.ModelSelect2(url='user:search')
    )
from django.urls import path

from .views import (
    UserList,
    UserSearchAutocomplete,
)

app_name = 'user'

urlpatterns = [
    path('list/', UserList.as_view(), name='list'),
    path('search/', UserSearchAutocomplete.as_view(), name='search'),
]
from dal import autocomplete


class UserSearchAutocomplete(autocomplete.Select2QuerySetView):
    def get_queryset(self):
        qs = User.objects.all()
        if self.q:
            qs = qs.filter(first_name__istartswith=self.q)
        return qs
过滤器.py

INSTALLED_APPS = [
    'dal',
    'dal_select2',

    'django.contrib.admin',
    # ............
]
class OrderFilter(django_filters.FilterSet):
    user = django_filters.ModelChoiceFilter(
        label='Username', queryset=User.objects.all(),
        empty_label="All",
        # lookup_expr='icontains',
        widget=autocomplete.ModelSelect2(url='user:search')
    )
from django.urls import path

from .views import (
    UserList,
    UserSearchAutocomplete,
)

app_name = 'user'

urlpatterns = [
    path('list/', UserList.as_view(), name='list'),
    path('search/', UserSearchAutocomplete.as_view(), name='search'),
]
from dal import autocomplete


class UserSearchAutocomplete(autocomplete.Select2QuerySetView):
    def get_queryset(self):
        qs = User.objects.all()
        if self.q:
            qs = qs.filter(first_name__istartswith=self.q)
        return qs
url.py

INSTALLED_APPS = [
    'dal',
    'dal_select2',

    'django.contrib.admin',
    # ............
]
class OrderFilter(django_filters.FilterSet):
    user = django_filters.ModelChoiceFilter(
        label='Username', queryset=User.objects.all(),
        empty_label="All",
        # lookup_expr='icontains',
        widget=autocomplete.ModelSelect2(url='user:search')
    )
from django.urls import path

from .views import (
    UserList,
    UserSearchAutocomplete,
)

app_name = 'user'

urlpatterns = [
    path('list/', UserList.as_view(), name='list'),
    path('search/', UserSearchAutocomplete.as_view(), name='search'),
]
from dal import autocomplete


class UserSearchAutocomplete(autocomplete.Select2QuerySetView):
    def get_queryset(self):
        qs = User.objects.all()
        if self.q:
            qs = qs.filter(first_name__istartswith=self.q)
        return qs
视图.py

INSTALLED_APPS = [
    'dal',
    'dal_select2',

    'django.contrib.admin',
    # ............
]
class OrderFilter(django_filters.FilterSet):
    user = django_filters.ModelChoiceFilter(
        label='Username', queryset=User.objects.all(),
        empty_label="All",
        # lookup_expr='icontains',
        widget=autocomplete.ModelSelect2(url='user:search')
    )
from django.urls import path

from .views import (
    UserList,
    UserSearchAutocomplete,
)

app_name = 'user'

urlpatterns = [
    path('list/', UserList.as_view(), name='list'),
    path('search/', UserSearchAutocomplete.as_view(), name='search'),
]
from dal import autocomplete


class UserSearchAutocomplete(autocomplete.Select2QuerySetView):
    def get_queryset(self):
        qs = User.objects.all()
        if self.q:
            qs = qs.filter(first_name__istartswith=self.q)
        return qs
模板/list.html

{{ filter.form.user }}

帮我解决这个问题。提前感谢。

我建议使用JS来处理此问题,而不是使用django。当
ModelSelect2
中的url参数无法正常工作时,将显示一个空列表。而不是使用django来处理此问题,我建议使用JS来处理这个问题。当
ModelSelect2
中的url参数不能正常工作时,将显示一个空列表。