我创建了一个继承自 DetailView
的类, 我重写了方法 get_context_data
和 post
.标题中提到的似乎很奇怪的是,我可以调用self.object
。来自 get_context_data
但我不能发帖所以我不得不使用self.get_object()
反而。但我想明白为什么?是 self.object
被 get_context_data
移除?所以在它之后调用的任何方法都不能使用它或类似的东西?
提前致谢
最佳答案
post
DetailView
中默认不存在方法,您实际上创建它并没有覆盖,因此您需要自己获取对象,原因是它在 get_context_data
中可用是它已经在 get
方法并保存在 object
属性(property)。
关于django: DetailView: self.object 从方法 post 调用时会引发错误,但从方法 get_context_data 调用时它确实有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19197480/