2016-04-29 10 views
0

Ich verwende die generische UpdateView und ich bemerkte gerade einige unerwünschte Verhalten. Wenn ich ungültige Daten poste, gibt get_object die UNSAVED POST-Version zurück.Zugriff auf die DB-Version des Modells nach einem POST

Wie kann ich von meiner Vorlage auf die DB-Version zugreifen, bis sie tatsächlich gespeichert wird?

Antwort

0

Überschreiben Sie die form_invalid Methode von UpdateView, so dass es das Objekt aus der Datenbank erneut abruft. Im Allgemeinen wird der pk über die URL conf geholt.

from django.views.generic import UpdateView 

class NewView(UpdateView): 

    def form_invalid(self, form): 
     self.object = self.model.objects.get(pk=self.object.pk) 
     return super(NewView, self).form_invalid(form) 
Verwandte Themen