2016-04-29 6 views
0

一般的なUpdateViewを使用していますが、私はいくつかの望ましくない動作に気付きました。無効なデータを投稿すると、get_objectはUNSAVED POSTバージョンを返します。POST後のモデルのDBバージョンへのアクセス

実際に保存されるまで、テンプレートからDBバージョンにアクセスするにはどうすればよいですか?

答えて

0

UpdateViewのform_invalidメソッドをオーバーライドして、オブジェクトをデータベースから再フェッチするようにします。一般的に、pkはURL confを介して取得されます。

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)