0

Ich möchte ein weiteres Autocomplete-Feld zu meiner model.form hinzufügen.'list' Objekt hat kein Attribut 'queryset' Fehler beim Hinzufügen eines Autocomplete-Felds zu einem Modell-Formular

aber sobald ich das Autocomplete-Widget für das Feld „projektnummer“

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

hinzufügen Ich erhalte eine verdrahtete Vorlage Fehler, den ich nicht Sinn machen kann. Hast du ein paar Ideen was ich hier machen kann?

Vielen Dank! :)

Fehlermeldung:

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 
      ) 

edit:

ich die gleiche Fehlermeldung mit einer reduzierten Testform ohne knusprige Formen erhalten. Nur die einfache Modellform und das Autocomplete-Widget. Es scheint also nicht zu knusprigen Formen, aber mit dem Autocomplete-Widget verwandt zu sein.

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

template.html

{{ form }} 

Fehler:

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

Können Sie die vollständige Traceback einfügen? – jpic

+0

sicher - ich postete es als eine zusätzliche Antwort, da es zu lang ist. Danke, dass du dich darum gekümmert hast! :) – teconomix

Antwort

0

ich gleiches Problem hatte, als django-taggit Anwendung. Ich habe die Widgets von Form in ListSelect2 oder TagSelect2 geändert. Und dann funktioniert es.

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

Sie können mehr Ressourcen von "Select2 Widget Implementierungsmodul." : http://django-autocomplete-light.readthedocs.io/en/master/api.html#module-dal.widgets

Verwandte Themen