Django覆盖change_view不保存可编辑列表

时间:2012-12-10 01:58:28

标签: django

我已创建了changelist_view的覆盖,以便在管理员的可编辑列表中点击保存按钮后,可关闭的可编辑列表如下所示:

def changelist_view(self,request,extra_context=None):
    if request.POST.has_key("_save"):
        self.list_editable = []

    return super(InventoryAdmin, self).changelist_view(request,  extra_context=None)

除了没有保存数据外,一切正常。我对Django很新,但我认为:

super(InventoryAdmin, self).changelist_view(request,  extra_context=None)

应该调用原始的changelist_view函数,以便数据仍然保存,但它不起作用。如何正确调用原始changelist_view函数以保存对数据的更改?

2 个答案:

答案 0 :(得分:0)

由于您实际上在之前禁用了list_editable ,因此您会调用管理员自己的changelist_view,因此它会跳过保存所有更改。

请参阅Django文档中的相应代码:

https://github.com/django/django/blob/master/django/contrib/admin/options.py#L1270

self.editable为空时,您会看到它没有进行批量更新。

答案 1 :(得分:0)

  

在list_display中添加'action_checkbox'作为第一个参数。对于   例如:

self.list_display = ('action_checkbox', ...)