Django 使用需要模型名称的函数覆盖 ModelAdmin 类

时间:2021-03-22 20:06:14

标签: python django django-admin

在我的 admin.py 中,我有很多 ModelAdmin 类,我希望它们都覆盖一个函数 has_module_permission。我想根据用户对 ModelAdmin 对应模型的权限设置模块权限,为此我需要知道模型名称才能运行 request.user.has_perm('app.add_<model>') 或类似的东西。

我认为这样做的一种简单方法是创建一个具有此函数的类,该类能够以某种方式获取模型名称,然后让每个 ModelAdmin 类从中继承。问题是我不知道如何从 ModelAdmin 访问模型的名称。这样做的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

如果您只需要来自 ModelAdmin 的模型名称,您只需执行以下操作:self.model.__name__