请查看我的代码最后的编辑。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