Wie kann ich Checkboxen, die von CheckboxSelectMultiple
von einem verwandten Modell erstellt wurden, gruppieren?
Dies wird am besten anhand eines Beispiels demonstriert.
models.py:
%Vor%forms.py:
%Vor%views.py:
%Vor%template.html:
%Vor%Das obige erzeugt die folgende Ausgabe:
%Vor% Was ich möchte, ist, dass die Feature-Checkboxen nach Feature-Kategorien gruppiert werden (basierend auf ForeignKey
):
Wie kann ich das erreichen? Ich habe versucht, das Schablonen-Tag {% regroup %}
ohne Erfolg zu verwenden.
Irgendwelche Ratschläge sehr geschätzt.
Danke.
Sie müssen das benutzerdefinierte Widget CheckboxSelectMultiple
schreiben. Mit dem Snippet habe ich versucht, das CheckboxSelectMultiple
-Feld iterierbar zu machen, indem ich das category_name
als Attribut im Feld attrs
hinzufüge. . Damit ich später regroup
-Tag in der Vorlage verwenden kann.
Der unten stehende Code wird je nach Bedarf von Snippet modifiziert. Natürlich kann dieser Code sauberer und generischer gemacht werden, aber in diesem Moment ist er nicht generisch.
forms.py
Dann in Vorlage:
%Vor%Ergebnisse : Ich habe den Ländernamen in der Kategorietabelle hinzugefügt, und den Städtenamen in der Merkmalstabelle, so dass ich in der Lage war, die Städte (Merkmale) nach Land (Kategorie) neu zu gruppieren
Tags und Links django django-forms django-templates