django模型权限与组权限

时间:2019-04-25 17:14:11

标签: python django django-admin

我的Django模型如下:

d = d.stream().map(e -> e*10).collect(Collectors.toCollection(ArrayDeque::new));

我的群组权限如下:

class testModel(models.Model):
    ...
    def has_add_permission(self, request):
        return False
    ...

用户仍然可以添加对象:

enter image description here

employee: testApp | testModel | can add testModel 函数似乎被忽略了,因为仅当从组中删除权限时,按钮才会消失;

组权限:可以添加testModel,并且has_add_permission返回true

  • 结果:可以添加测试模型

组权限:可以添加testModel,并且has_add_permission返回false

  • 结果:可以添加测试模型

组权限:无法添加testModel并且has_add_permission返回true

  • 结果:无法添加测试模型

组权限:无法添加testModel并且has_add_permission返回false

  • 结果:无法添加测试模型

这是预期的行为吗?

1 个答案:

答案 0 :(得分:1)

如果您指的是文档的this part,则应该知道他们在谈论ModelAdmin方法,而不是模型。

class MyModelAdmin(admin.ModelAdmin):
    ...

    def has_add_permission(self, request):
        return False

我认为不应该通过直接在模型上定义这些方法来工作,您必须在该模型的admin类中定义它们。