I'm using django-autocomplete-light 3.2.1 in django 1.10.2. In admin instead of autocomplete field I see a select field. I followed the instructions from here.
package urls.py
urlpatterns = i18n_patterns(
url(r'^admin/', admin.site.urls),
url(r'^autocomplete/', include('apps.vehicle.urls')),)
Inside apps folder I have a vehicle app. Inside I have following codes. 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) finally urls.py:
from django.conf.urls import url
from .views import ModelAutocomplete
urlpatterns = [
url(
r'^model-autocomplete/$',
ModelAutocomplete.as_view(),
name='model-autocomplete',
),
]
But, autocomplete does not work. In admin I see only common admin select field. What may be wrong in my codes?
First, I checked Firefox console and found few errors which mean that either there are some code errors or static files are not loaded. After that I checked static folder in my server and discovered that autocomplete folder was not there. Then, just run the following code to solve the issue.
python manage.py collectstatic
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With