Bedingung bedingt nur ein Feld im Django-Modell

8

Wie auch immer, um ein Feld bedingt erforderlich zu machen, abhängig davon, ob ein anderes Feld in der gleichen Form ausgefüllt wurde oder nicht?

%Vor% %Vor%

Suchen Sie keine JavaScript-Lösungen. Ich fühle, wie es mit Django-Formen gelöst werden sollte, aber nicht ganz sicher, wie es am besten geht.

    
Derek Reynolds 28.01.2010, 02:52
quelle

3 Antworten

9

Überschreiben Sie die .clean (self) -Methode, prüfen Sie auf self.cleaned_data und erhöhen Sie ValidationError

Ссылка

    
iElectric 28.01.2010, 02:54
quelle
6

Sie können dies auch mit dem Modell tun, wenn Sie wissen, dass die Validierung für alle Objekte dieser Klasse gilt. Verwenden Sie cleaned_data, um das unten auf der Formularebene zu verwenden. Hier ist ein Beispiel aus der Dokumentation von Django mit ValidationError :

%Vor%

Referenz: Model Instance Clean , Django Validatoren

Hier ist ein Formularbeispiel:

%Vor%

Referenz: Formular & amp; Feldüberprüfung

    
radtek 02.05.2014 18:11
quelle
0

Die beste Lösung für ein bedingt erforderliches Feld besteht darin, die clean-Methode des Formulars zu überschreiben und den Fehler unter Bedingung anzuzeigen. Zum Beispiel:

%Vor%     
luminousmen 31.03.2016 08:00
quelle