0

다른 autocomplete 필드를 내 model.form에 추가하고 싶습니다.모델 양식에 자동 완성 필드를 추가 할 때 '목록'개체에 '쿼리 세트'오류가 없습니다.

그러나, 최대한 빨리 분야 "projektnummer"

'projektnummer': autocomplete.ModelSelect2(url='output:projekt-form-autocomplete'), 

에 대한 자동 완성 위젯을 추가 할 때 나는 이해 할 수없는 유선 템플릿 오류가 발생합니다. 내가 여기서 할 수있는 아이디어가 있니?

대단히 감사합니다! :)

오류 메시지 :

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 %} 

편집

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 
      ) 

forms.py :

내가 파삭 파삭 한 형태없이 감소 된 시험 양식과 매우 같은 오류 메시지가 표시됩니다. 그냥 일반 모델 - 양식과 하나의 자동 완성 위젯. 따라서 자동 완성 된 위젯과 관련하여 파삭 파삭 한 형태로는 풀릴 수없는 것으로 보입니다.

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

template.html

{{ form }} 

오류 :

장고 taggit을 위해 적용 할 때이 같은 문제가 있었다
Exception Value: 'list' object has no attribute 'queryset' 
+0

전체 추적을 붙여 넣을 수 있습니까? – jpic

+0

확실합니다 - 너무 길기 때문에 나는 여분의 답변으로 게시했습니다. 그것을 들여다 주셔서 감사합니다! :) – teconomix

답변

0

. 양식의 위젯을 ListSelect2 또는 TagSelect2로 변경했습니다. 그리고 나서 작동합니다.

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

'Select2 위젯 구현 모듈'에서 더 많은 리소스를 찾을 수 있습니다. : http://django-autocomplete-light.readthedocs.io/en/master/api.html#module-dal.widgets