django 1.10.2에서 django-autocomplete-light 3.2.1을 사용하고 있습니다. autocomplete 필드 대신 admin에서 select 필드가 나타납니다. 나는 here에서 지시를 따랐다.Django 자동 완성이 작동하지 않습니다.
는
urlpatterns = i18n_patterns(
url(r'^admin/', admin.site.urls),
url(r'^autocomplete/', include('apps.vehicle.urls')),)
내부 폴더를 애플 리케이션 urls.py 패키지 I은 차량의 응용 프로그램을 가지고있다. 안에는 다음과 같은 코드가 있습니다. 1) views.py :
from dal import autocomplete
from .models import Model
class ModelAutocomplete(autocomplete.Select2QuerySetView):
def get_queryset(self):
# Don't forget to filter out results depending on the visitor !
if not self.request.user.is_authenticated():
return Model.objects.none()
qs = Model.objects.all()
if self.q:
qs = qs.filter(name__istartswith=self.q)
return qs
2) forms.py :
from django import forms
from dal import autocomplete
from .models import Model, ChassisCode
class ChassisCodeForm(forms.ModelForm):
test_field = forms.ModelChoiceField(
queryset=Model.objects.all(),
widget=autocomplete.ModelSelect2(url='model-autocomplete')
)
class Meta:
model = ChassisCode
fields = ('__all__')
3) admin.py :
class ChassisCodeAdmin(admin.ModelAdmin):
form = ChassisCodeForm
admin.site.register(ChassisCode, ChassisCodeAdmin)
4) 마지막 urls.py :
from django.conf.urls import url
from .views import ModelAutocomplete
urlpatterns = [
url(
r'^model-autocomplete/$',
ModelAutocomplete.as_view(),
name='model-autocomplete',
),
]
하지만 자동 완성 기능이 작동하지 않습니다. 관리자의 경우 일반적인 관리자 선택 필드 만 표시됩니다. 내 코드에서 무엇이 잘못되었을 수 있습니까?