Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django get_absolute_url()在常规视图中失败,因为self.object为None_Django_Views_Django Class Based Views - Fatal编程技术网

Django get_absolute_url()在常规视图中失败,因为self.object为None

Django get_absolute_url()在常规视图中失败,因为self.object为None,django,views,django-class-based-views,Django,Views,Django Class Based Views,所以我遇到了这个问题,我基于类的编辑(CreateView和UpdateView)视图未能在随机选择的模型上一致地重定向,说get_absolute_url没有定义,即使它是为那些模型定义的。我在实际的基于类的视图中进行了一些调试,我意识到这是因为在get_success_url()方法中,self.object是None,但运行self.get_object()会返回正确的对象。我很好奇为什么self.object不是self.get_object,而是self.get_object在这种情况

所以我遇到了这个问题,我基于类的编辑(CreateView和UpdateView)视图未能在随机选择的模型上一致地重定向,说get_absolute_url没有定义,即使它是为那些模型定义的。我在实际的基于类的视图中进行了一些调试,我意识到这是因为在get_success_url()方法中,self.object是None,但运行self.get_object()会返回正确的对象。我很好奇为什么self.object不是self.get_object,而是self.get_object在这种情况下会起作用,我知道如何解决这个问题,但我觉得我可能不应该这样做,所以这可能意味着我的过程的一部分是不正确的,尽管我不知道是什么,因为我正在编写简单的模型,在我的CreateView和UpdateView中定义get_absolute_url并设置模型和表单类。以前有人遇到过这个问题吗?

我刚刚意识到,问题是我已经为这些类重写了模型表单中的save,尽管我已经保存了对象,但没有返回它们。归还它们解决了问题。通过查看ModelFormMixin的表单,我看到了解决方案