我的 django 模型如下所示:
class testModel(models.Model):
...
def has_add_permission(self, request):
return False
...
我的组权限如下所示:
employee: testApp | testModel | can add testModel
用户仍然可以添加对象:
看起来 has_add_permission
函数被忽略,因为该按钮仅在从组中删除权限时消失;
组权限:可以添加testModel且has_add_permission返回true
- 结果:可以添加测试模型
组权限:可以添加testModel且has_add_permission返回false
- 结果:可以添加测试模型
组权限:无法添加 testModel 并且 has_add_permission 返回 true
- 结果:无法添加测试模型
组权限:无法添加 testModel 并且 has_add_permission 返回 false
- 结果:无法添加测试模型
这是预期的行为吗?
最佳答案
如果您指的是this part在文档中,您应该知道他们正在讨论 ModelAdmin
方法,而不是直接讨论模型。
class MyModelAdmin(admin.ModelAdmin):
...
def has_add_permission(self, request):
return False
我认为直接在模型上定义这些方法不应该起作用,您必须在该模型的管理类中定义它们。
关于python - Django 模型权限与组权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55854521/