Django - wie kann man in der clean-Methode wissen, wenn die Formulardaten neu sind oder wenn alte Daten geändert werden

8

Wie kann ich in MyForm.clean () wissen, ob die Daten neu sind oder ob bereits gespeicherte Daten geändert werden?

Wie sollte is_this_new_data () im folgenden Code aussehen?

%Vor%     
Helgi Borg 03.11.2011, 14:42
quelle

2 Antworten

21

Überprüfen Sie self.cleaned_data['some_field'] gegen self.instance.some_field .

Eine schnelle Möglichkeit zu überprüfen, ob das Objekt neu ist, ist zu sehen, ob self.instance.pk einen Wert hat. Es wird None sein, wenn das Objekt nicht bereits existiert.

    
Chris Pratt 03.11.2011, 14:45
quelle
3

In clean können Sie auf das Attribut changed_data zugreifen, bei dem es sich um eine Liste der Namen der geänderten Felder handelt.

%Vor%     
Alasdair 03.11.2011 15:11
quelle

Tags und Links