Django ';列表';对象没有属性';queryset';将自动完成字段添加到模型表单时出错

Django ';列表';对象没有属性';queryset';将自动完成字段添加到模型表单时出错,django,django-forms,jquery-select2,django-crispy-forms,django-autocomplete-light,Django,Django Forms,Jquery Select2,Django Crispy Forms,Django Autocomplete Light,我想在model.form中添加另一个自动完成字段 但是,只要我为字段“projektnumer”添加自动完成小部件 我得到一个有线模板错误,我无法理解。你知道我能在这里做什么吗 非常感谢!:) 错误消息: AttributeError at /output/create/ 'list' object has no attribute 'queryset' Request Method: GET Request URL: http://127.0.0.1:8000/output/creat

我想在model.form中添加另一个自动完成字段

但是,只要我为字段“projektnumer”添加自动完成小部件

我得到一个有线模板错误,我无法理解。你知道我能在这里做什么吗

非常感谢!:)

错误消息:

AttributeError at /output/create/
'list' object has no attribute 'queryset'
Request Method: GET
Request URL:    http://127.0.0.1:8000/output/create/
Django Version: 1.8.7
Exception Type: AttributeError
Exception Value:    
'list' object has no attribute 'queryset'

Error during template rendering

In template /home/bjoern/Developement/Django/Outputmeldetool/venv_outputmeldetool/lib/python3.5/site-packages/crispy_forms/templates/bootstrap3/field.html, error at line 28

28 {% if field|is_checkbox and form_show_labels %}
forms.py

class KombiPublikationForm(forms.ModelForm):

    typtyp = forms.ModelChoiceField(label='Vorauswahl Outputtyp', required = False,
                                    queryset=KombiPublikationsTypTyp.objects.exclude(id__in=EXCLUDED_TYPTYP)
                                    )

    class Meta:
        model = KombiPublikation
        exclude = ['pub_sprache']
        widgets = {
            'freigabe': DateTimePicker(options={"format": "YYYY-MM-DD HH:mm", 'sideBySide': True}),
            'typid': autocomplete.ModelSelect2(url='output:typ-autocomplete', forward=['typtyp']),
#adding following line generates the error:
            'projektnummer': autocomplete.ModelSelect2(url='output:projekt-form-autocomplete'),
            'monat': forms.NumberInput(),
        }



    def __init__(self, *args, **kwargs):
        super(KombiPublikationForm, self).__init__(*args, **kwargs)

        self.helper = FormHelper()
        self.helper.help_text_inline = True
        self.helper.form_tag = False
        self.helper.layout = Layout(
           #a lot of layout stuff is here
            )
编辑:

我得到了同样的错误消息,使用了一个简化的测试表单,但没有清晰的表单。只有简单的模型表单和一个自动完成小部件。因此,它似乎与脆表单无关,但与自动完成小部件相关

class TestPublikationForm(forms.ModelForm):
    class Meta:
        model = KombiPublikation
        exclude = ['pub_sprache']
        widgets = {
            'projektnummer': autocomplete.ModelSelect2(url='output:projekt-form-autocomplete'),
    }
template.html

{{ form }}
错误:

 Exception Value: 'list' object has no attribute 'queryset'

我在申请django taggit时也遇到了同样的问题。我将表单的小部件更改为ListSelect2或TagSelect2。然后它就起作用了

class TestPublikationForm(forms.ModelForm):
class Meta:
    model = KombiPublikation
    exclude = ['pub_sprache']
    widgets = {
        'projektnummer': autocomplete.ListSelect2(url='output:projekt-form-autocomplete'),
}
您可以从“Select2小部件实现模块”中找到更多资源:

您尚未发布您的模型,但我猜问题可能是您尝试自动完成的字段不是ForeignKey或ManyToMany字段,而是类似CharField或IntegerField的字段


如果你想这样使用它,你可以按照Alex的建议去做。否则,您需要更改模型。

您可以粘贴完整的回溯吗?当然可以-我将其作为额外答案发布,因为它太长了。谢谢您的调查!:)
class TestPublikationForm(forms.ModelForm):
class Meta:
    model = KombiPublikation
    exclude = ['pub_sprache']
    widgets = {
        'projektnummer': autocomplete.ListSelect2(url='output:projekt-form-autocomplete'),
}