Django管理员,隐藏+加号到特定的外键字段

Tor*_*gia 6 django admin foreign-keys

我想在django-admin界面中隐藏特定模型的某些foreignkey字段中的加号+.这是可能的?

提前致谢!

Chr*_*att 5

当该外键的模型也可以在管理员中添加时,就会+添加 ,并且基于用户对该模型拥有的权限。如果用户不能添加这些类型的模型,请覆盖has_add_permission外键ModelAdmin(即加号允许您添加的模型),并在适当的条件下返回 False。对于任何不允许的用户,该+标志将会消失。


Hae*_*aes 2

如果您只是为了美观目的而隐藏它,我会使用隐藏此“+”符号的 Javascript 脚本。

您可以使用 Media 内部类将自定义 Javascript 源添加到管理模型表单,如文档中所述。像这样的东西:

class MyModelAdmin(admin.ModelAdmin):
    class Media:
        js = ("js/hide_myfield_addlink.js",)
Run Code Online (Sandbox Code Playgroud)

Javascript 源代码看起来像这样:

/* file: hide_myfield_addlink.js */
django.jQuery(document).ready(function() {
    django.jQuery("#add_id_myfield").hide();
});
Run Code Online (Sandbox Code Playgroud)

另一方面,如果这些管理员用户永远无法添加此类模型,请不要授予他们添加这些模型的权限。那么这些添加的链接将永远不会显示。