【问题标题】:Django get_absolute_url() fails in Generic Views due to self.object being None由于 self.object 为 None,Django get_absolute_url() 在通用视图中失败
【发布时间】:2012-11-26 22:37:08
【问题描述】:

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

【问题讨论】:

    标签: django views django-class-based-views


    【解决方案1】:

    我刚刚意识到问题在于我已经在我的 ModelForm 中为这些类覆盖了保存,尽管我保存了对象但我没有返回它们。退回他们解决了这个问题。查看 ModelFormMixin 的 form_valid 向我展示了解决方案。

    【讨论】:

      猜你喜欢
      • 2016-10-12
      • 2013-04-06
      • 1970-01-01
      • 1970-01-01
      • 2012-04-21
      • 1970-01-01
      • 2015-03-14
      • 1970-01-01
      • 2018-11-11
      相关资源
      最近更新 更多