Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django管理员从索引和应用程序页面排除模型_Python_Django_Django Admin_Django Modeladmin - Fatal编程技术网

Python Django管理员从索引和应用程序页面排除模型

Python Django管理员从索引和应用程序页面排除模型,python,django,django-admin,django-modeladmin,Python,Django,Django Admin,Django Modeladmin,我想从管理员索引页和应用程序页隐藏一些模型。例如,我在内联中可以看到的这些对象作为相关对象。 还有一点,我想保留使用该模型的change\u view和add\u view的功能,但不使用该模型的list\u view 试图在admin/templates/admin/*.html文件中找到任何提示,但没有找到任何有用的内容 如果没有“黑客”、猴子补丁和外部库,这可能吗?你可以试试这个 这将从索引中隐藏模型 class YourModel(admin.ModelAdmin): def g

我想从管理员索引页和应用程序页隐藏一些模型。例如,我在
内联中可以看到的这些对象作为相关对象。
还有一点,我想保留使用该模型的
change\u view
add\u view
的功能,但不使用该模型的
list\u view

试图在
admin/templates/admin/*.html
文件中找到任何提示,但没有找到任何有用的内容

如果没有“黑客”、猴子补丁和外部库,这可能吗?

你可以试试这个

这将从索引中隐藏模型

class YourModel(admin.ModelAdmin):
    def get_model_perms(self, request):    
        return {}  # return empty

admin.site.register(YourModel, YourModelAdmin)
更多关于Django管理员的信息

正如所述:


如果允许在管理索引页上显示模块并访问模块的索引页,则应返回True,否则返回False。默认情况下使用User.has_module_perms()。覆盖它不会限制对视图的访问、添加、更改或删除视图

为了避免删除所有权限(如使用
get\u model\u perms()
),您可以重新定义
has\u module\u permission()
方法以始终
返回False

@admin.register(SomeModel)
类SomeModelAdmin(admin.ModelAdmin):
def具有模块权限(自我、请求):
返回错误

看起来正是我需要的。你能解释一下它是如何工作的以及它还能影响什么吗?对我来说,它似乎可以删除一些应该存在的权限。