Andreas Dölling: Ein Problem gelöst, das andere bleibt

Beitrag lesen

Hallo,

Als Anfänger bin ich nun aber auf ein Problem gestoßen, zu dem ich trotz langer Suche noch keine Lösung gefunden habe: Wie kann ich eine Mehrfachauswahl über Checkbox-Felder realisieren?

ok, _dieser_ Teil meiner Frage ist jetzt beantwortet. So geht's:
mit request.POST.getlist('keywords') bekommt man alle gewählten Optionen (egal, ob bei SELECT-Feldern oder Checkbox-Feldern) als Listenobjekt geliefert.
Die eckigen Klammern im name-Attribut des Formularelements braucht man _nicht_.

Tja - jetzt frage ich mich noch, wie ich dann in der View Picture-Objekte aus der Datenbank bekomme, die zu einem der gewählten Begriffe gehören (Picture und Keyword stehen in einer many-to-many-Beziehung).

Im Moment sieht es bei mir so aus:
wert = ""
    for val in request.POST.getlist('keywords'):
        if(wert != ''): wert += ', '
        wert = wert + str(val)
    wert = wert + ""
    picture_list    = Picture.objects.extra(where=['keywords IN (' + wert + ')'])

Bin für Tipps dankbar!

Thanx und ciao,
Andreas

--
"Das Corporate Design für das Internet sieht eine Reihe von Grafikelementen vor, die die Optik der Webseite visuell und funktionell beeinflussen." - (Zitat aus dem "Styleguide Corporate Design"  eines großen Konzerns...)