【发布时间】:2019-01-17 17:11:19
【问题描述】:
重载changelist_view并调用super()会导致属性错误。
我正在创建一个超级基本仪表板,并且我正在覆盖 ModelAdmin 类的 changelist_view 方法。但是,此覆盖会导致错误“NoneType 对象没有属性‘has_header’。”但是,我实际上并没有做任何事情,只是覆盖了 changelist_view 并调用了超类——我还没有做任何更改。
在 admin.py 中
class SummaryAdmin(admin.ModelAdmin):
def changelist_view(self, request, extra_context=None):
response = super().changelist_view(request, extra_context)
models.py中对应的模型
class Summary(Failure):
class Meta:
proxy = True
verbose_name = 'Failure Summary'
verbose_name_plural = 'Failures Summary'
这实际上是管理模型的全部内容。当我尝试进入 django 管理面板时,出现属性错误。据我所知,这应该与根本不覆盖 changelist_view 没有什么不同,但是如果我删除覆盖,一切都会正常运行。
更新:我实际上是从 options.py 中复制了 changelist_view 代码,而不是调用超类,但我没有收到此错误,所以我怀疑这与我调用超类的方式有关。
【问题讨论】:
标签: python django django-admin