Wenn das Feld eines Modells eine Auswahl oder einen Fremdschlüssel ist, ist das Widget auf der Seite ein ausgewählter Eingang oder ein Radio, wenn Sie dies angeben. Django platziert "---------" in dem ersten Element als einen nicht ausgewählten Wert. Wie kann ich es überschreiben oder sogar entfernen? Ich erinnere mich daran, wie ich es gelesen habe, kann es aber nicht mehr finden.So entfernen Sie das nicht ausgewählte Element in einer Auswahl- und Radioeingabe in Django
Antwort
See: http://docs.djangoproject.com/en/dev/topics/forms/modelforms/
Wenn das Modellfeld hat Entscheidungen festgelegt, dann das Widget-Formularfeld Set sein zu wählen, mit Entscheidungen aus dem Modellfeld der Auswahl kommen. Die Auswahl enthält normalerweise die freie Auswahl, die durch Standard ausgewählt wird. Wenn das Feld erforderlich ist, erzwingt der Benutzer eine Auswahl. Die leere Auswahl wird nicht enthalten sein, wenn das Modellfeld blank = False und einen expliziten Standardwert Wert (der Standardwert wird stattdessen anfänglich ausgewählt).
Wenn es ein Modelform ist, stellen nur default=None
in Ihrem Modell, wie folgt aus:
choose = models.CharField(max_length=3, choices=choose_dict, default=None)
Vom Django forms doc:
standardmäßig die
<select>
verwendet Widget vonModelChoiceField
eine eine haben leere Auswahl am Anfang der Liste. Sie können den Text des Labels ändern (die „---------“ ist standardmäßig) mit demempty_label
Attribute, oder Sie können durch das Setzenempty_label=None
das leere Etikett vollständig deaktivieren:
field2 = forms.ModelChoiceField(queryset=..., empty_label=None)
Wenn Sie dies auf einem ModelForm
tun müssen, hatte ich eine Antwort here.
Arrgghhh, die Lösung in der Verbindung scheint zu kompliziert. Ich denke in diesem Fall, besser auf gewöhnliche Form zurückgreifen. –
- 1. So markieren Sie das ausgewählte Objekt in einer MvxListView
- 2. django kann nicht Modell Auswahl ausgewählte Werte
- 3. WPF ComboBox Wie binden Sie das ausgewählte Element in Code?
- 4. Ändern Sie das standardmäßig ausgewählte Element zu keiner
- 5. So legen Sie das ausgewählte Objektgitter fest
- 6. RecyclerView: Markieren Sie das ausgewählte Element
- 7. So filtern Sie ausgewählte Werte mit Fremdschlüssel in Django Formular
- 8. Ändern Sie das ausgewählte Element in Numberpicker Android
- 9. Finden Sie das ausgewählte Element einer JList und zeigen Sie es in Echtzeit
- 10. Bleiben Markiert das ausgewählte Element in ExpandableListView?
- 11. Set-Stil für das ausgewählte Element in einer Listenansicht
- 12. Bleiben Sie markiert das ausgewählte Element in der Navigationsleiste
- 13. ComboBox aktualisiert das ausgewählte Element nicht
- 14. So fügen Sie das ausgewählte Element in Wählen Sie zum ausgewählten Feld
- 15. So entfernen Sie das Falten in mxCell?
- 16. So speichern Sie ausgewählte Elemente einer ExpandableListView in einer ArrayList
- 17. Auswählen eines Textboxelements in einer Listbox ändert nicht das ausgewählte Element der Listbox
- 18. Django: ModelChoiceField Standard entfernen --------- Auswahl
- 19. So legen Sie das ausgewählte Element in der Strukturansicht auf der linken Seite der CHM-Datei
- 20. So speichern Sie das Bearbeitungsprofil in Django
- 21. jQuery jCarousel - So entfernen Sie das jCarousel von einem Element
- 22. So entfernen Sie ein bestimmtes Element in iFrame
- 23. So entfernen Sie das vorherige Element mit Javascript
- 24. So entfernen Sie ein Element aus einer IGrouping
- 25. So zeigen Sie das ausgewählte Bild in FileUpload-Steuerelement
- 26. Entfernen Sie das Element aus der Liste und rufen Sie das Element gleichzeitig
- 27. JavaFX & FXML: Wie lege ich das standardmäßig ausgewählte Element in einer ChoiceBox in FXML fest?
- 28. So übergeben Sie das ausgewählte Element in den verketteten Funktionen an 'this'
- 29. So legen Sie die alternative Zeilenfarbe für Listview und die Hintergrundfarbe für das ausgewählte Element fest
- 30. So entfernen Sie das Tag mit Jquery
das funktioniert nicht – Tony
-1: 'default' wird auf der Datenbankebene verwendet, nicht auf der Formularebene. Wenn der Wert beim Erstellen des Modellobjekts nicht festgelegt wird, wird der Wert auf "None" gesetzt. Gefährlicher Hinweis – Patrick
@Patrick nicht wahr (mindestens seit Django 1.4). Siehe http://stackoverflow.com/a/11721969/898423 –