POST后访问模型的DB版本

时间:2016-04-29 21:50:36

标签: python django

我使用的是通用的UpdateView,我只是注意到了一些不受欢迎的行为。当我发布无效数据时,get_object将返回UNSAVED POST版本。

如何从我的模板访问数据库版本,直到它实际保存?

1 个答案:

答案 0 :(得分: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)