django. Hinzufügen eines Felds zu Form.errors in einer benutzerdefinierten clean () -Methode

8

Ich habe ein Event-Modell, für das ich die folgende Validierungsregel in einer benutzerdefinierten def clean(self): -Methode für das Model verwenden möchte:

%Vor%

Was gut funktioniert, außer dass ich das Feld self.end_date in der Admin-Benutzeroberfläche hervorheben möchte, indem ich es irgendwie als das Feld mit Fehlern vorschlage. Sonst bekomme ich nur die Fehlermeldung, die am Anfang des Änderungsformulars auftritt.

    
Daryl 04.04.2011, 06:43
quelle

2 Antworten

11

Die < strong> docs erläutert, wie dies am unteren Rand durchgeführt wird.

Beispiel:

%Vor%

für Ihren Code:

%Vor%     
DTing 04.04.2011, 08:37
quelle
13

Ab Django 1.7 können Sie Fehler direkt zu dem bestimmten Feld hinzufügen, indem Sie add_error method verwenden. Django-Dokumente

form.add_error('field_name', 'error_msg or ValidationError instance') Wenn field_name None ist, wird der Fehler zu non_field_errors hinzugefügt.

%Vor%     
Mr.Coffee 12.02.2015 10:25
quelle