請查看我的代碼最後的編輯。Django自動完成燈光列表對象沒有屬性查詢集
我試圖爲單個字段實現django-autocomplete-light(dal 3.2.10)。在教程之後,我發現這個錯誤:'list'對象沒有屬性'queryset'。
我看到這個問題:django-autocomplete-light error = 'list' object has no attribute 'queryset'。它沒有解決我的問題。
爲什麼會發生此錯誤?我能做些什麼來解決這個問題?
我不認爲這是整個問題,但我沒有看到在瀏覽器檢查器中顯示任何js文件。我認爲在編輯#3中包含代碼會導致出現問題。
我有兩個型號:
class Entity(models.Model):
entity = models.CharField(primary_key=True, max_length=12)
entityDescription = models.CharField(max_length=200)
def __str__(self):
return self.entityDescription
class Action(models.Model):
entity = models.ForeignKey(Entity, on_delete=models.CASCADE, db_column='entity')
entityDescription = models.CharField(max_length=200)
action = models.CharField(max_length=50)
def __str__(self):
return '%s' % self.entity
我有一個模型的形式和表單集。我也使用脆皮形式來呈現表單集:
class ActionForm(ModelForm):
class Meta:
model = Action
fields = '__all__'
widgets = {
'entityDescription': autocomplete.ModelSelect2(url='eda')
}
ActionFormSet = modelformset_factory(Action, extra=1, exclude=(), form=ActionForm)
我有一個觀點:
class EntityDescriptionAutocomplete(autocomplete.Select2QuerySetView):
def get_queryset(self):
qs = Entity.objects.all()
if self.q:
qs = qs.filter(entityDescription__istartswith=self.q)
return qs
我有一個urls.py:
urlpatterns = [
url(
r'^eda/$',
views.EntityDescriptionAutocomplete.as_view(),
name='eda',
),
]
謝謝你的任何見解你可能都有。
編輯:
我改......
widgets = {
'entityDescription': autocomplete.ModelSelect2(url='eda'),
}
...到...
widgets = {
'entityDescription': autocomplete.Select2(url='eda'),
}
......這讓我的網頁渲染,但自動填充字段是一個空的下拉菜單。爲什麼它是空的,爲什麼它不是一個自動完成框?
編輯#2:
我刪除在元類的小部件設置,而是直接推翻領域:
class ActionForm(ModelForm):
entityDescription = ModelChoiceField(
queryset=Entity.objects.all(),
widget=autocomplete.ModelSelect2(url='eda')
)
class Meta:
model = Action
fields = '__all__'
這仍然會返回一個空的下拉列表(不是自動完成框)但它現在有Django的-------
能指,而不是絕對沒有。
編輯#3:
我將此添加到我的模板:
{% block footer %}
<script type="text/javascript" src="/static/collected/admin/js/vendor/jquery/jquery.js"></script>
{{ form.media }}
{% endblock %}
沒有改變。
最後一塊做了竅門 –
我真的覺得這從autocomplete-light-docs中是缺少的...... – user1544500