2

我创建了 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 函数,以便将更改保存到数据?

4

2 回答 2

0

因为您在调用管理员自己list_editable 之前changelist_view实际上是在禁用,所以它正在跳过任何更改的保存。

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

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

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

于 2012-12-10T23:15:54.093 回答
0

在 list_display 中添加“action_checkbox”作为第一个参数。例如:

self.list_display = ('action_checkbox', ...)
于 2013-11-19T06:56:03.743 回答