Leere Option im erforderlichen ChoiceField

8

Ich möchte, dass mein ChoiceField in ModelForm eine leere Option hat (------), aber es ist erforderlich.

Ich brauche eine leere Option, um zu verhindern, dass der Benutzer das Feld versehentlich überspringt. Wählen Sie daher die falsche Option.

    
willwill 13.03.2011, 12:58
quelle

4 Antworten

18

Dies funktioniert für mindestens 1.4 und später:

%Vor%

Da ChoiceField (standardmäßig) erforderlich ist, wird es sich darüber beschweren, dass es leer ist, wenn die erste Auswahl ausgewählt ist und nicht, wenn es die zweite Option ist.

Es ist besser, es so zu machen wie Yuji Tomita, weil Sie auf diese Weise Djangos lokalisierte Validierungsnachrichten verwenden.

    
Ctrl-C 29.04.2013, 13:12
quelle
6

Sie könnten das Feld mit clean_FOO

validieren %Vor%

Wenn es sich um ein ModelChoiceField handelt, können Sie das Argument empty_label angeben.

%Vor%

Dies behält das erforderliche Formular bei, und wenn ----- ausgewählt ist, wird ein Validierungsfehler ausgelöst.

    
Yuji 'Tomita' Tomita 13.03.2011 16:19
quelle
0

Sie können auch die Methode __init__() des Formulars überschreiben und das Feldfeld choices ändern, indem Sie eine neue Liste von Tupeln neu zuordnen. (Dies kann für dynamische Änderungen nützlich sein):

%Vor%     
Caumons 30.06.2017 07:39
quelle
-2

im Argument addiere null = True

gefällt das

%Vor%

Ссылка

für Ihren Kommentar

%Vor%     
Efazati 13.03.2011 13:02
quelle

Tags und Links