如果所有字段都是只读的,则在admin中隐藏保存按钮



我使用以下get_readonly_fields方法不允许在django的管理界面中编辑对象:

def get_readonly_fields(self, request, obj=None):
    if obj == None or request.user.is_superuser:
        return self.readonly_fields
    # marks all fields as readonly otherwise
    fields = [f.name for f in self.model._meta.fields]
    return fields

这非常有效,但savesave and continue editing仍然会出现。他们不会做任何事情,因为所有字段都是只读的。

因此,我的问题是:有没有一种方法可以根据所有字段是否为只读来隐藏这些save按钮?我该如何实现?

第1版:

我知道如何覆盖admin/submit_line.html模板,但我想做的是,如果我只有只读字段,则将show_saveshow_save_as_new设置为False。如何更改这些变量值?

在django/contrib/admin中有一个名为submit_line.html的文件,用于呈现按钮。要覆盖它们,请在templates目录中创建一个名为admin的文件夹,在admin/sumit_line.html中,您可以根据特定规则对其进行修改。请注意,以这种方式修改它会影响每个管理对象视图页面。

相关内容

最新更新