django modelmultiplechoicefield und widget checkboxselectmultiple
Ich würde gern so etwas wie das admin-interface.
hier ist der code für das Formular:
class NewRoleFrom(forms.Form):
role = forms.ModelMultipleChoiceField(
queryset=Role.objects.all(),
widget=forms.CheckboxSelectMultiple
)
So, es ist ganz einfach, ich habe die Rolle-Etikett(Rolle:) dann jede Rolle in der Datenbank gerendert wird mit einem Kontrollkästchen.
Wie kann ich wieder alle Rolle Objekte, welche vom Benutzer.
Aber am Anfang von jeder Zeile habe ich eine Kugel, wie kann ich es entfernen?
Dann ist es möglich, auf jedes andere Attribut, wie wenn wir definieren eine list_display
im admin.py
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
in Ihrem Formular Vorlage einfach Durchlaufen der Rollen
form.html
dann ziemlich mit css.
Hier ist die Quelle für das widget von django.Formen.widgets Modul :
Können Sie sehen, die Kugeln sind durch django CSS für Listen. So, Sie zu entfernen, denken Sie über die Schaffung einer neuen wudget Erben von CheckboxSelectMultiple mit dem hinzufügen einer Klasse, um die "ul" - html-tag und fügen Sie dann Ihre eigene css-Datei mit der Lösung detaillierte hier.
Ich würde überschreiben die CheckboxSelectMultiple Klasse mit einer eigenen Klasse und legen Sie die style-änderungen direkt auf die render-Ausgabe. Siehe code unten
Und dann in deinem Formular: