【问题标题】:Django - Adding model without default ModelAdmin permissions (add, change, delete, view)Django - 添加没有默认 ModelAdmin 权限的模型(添加、更改、删​​除、查看)
【发布时间】:2021-09-01 23:37:09
【问题描述】:

我在向管理面板添加简单的新权限时遇到了问题
在我的 models.py 我有:

class search_hostname(models.Model):
    class Meta:
        permissions = [("search_hostname", "Can search hostname")]

    def __str__(self):
        return self.application

但在我的管理页面中进行迁移和迁移后,我得到“可以搜索主机名”和其他四个默认值:

app | search_hostname | Can add search_hostname
app | search_hostname | Can change search_hostname
app | search_hostname | Can delete search_hostname
app | search_hostname | Can view search_hostname
app | search_hostname | Can search hostname

我没有旧的迁移会导致这种情况
有什么方法可以避免添加这些默认权限并且只有 Can search hostname in DB

【问题讨论】:

    标签: django django-models django-admin django-permissions


    【解决方案1】:

    属性permissions [Django docs] 用于在 Django 将创建的默认权限之上的 额外 权限。如果不想要默认权限或者想修改,需要设置default_permissions [Django docs]

    class search_hostname(models.Model):
        class Meta:
            permissions = [("search_hostname", "Can search hostname")]
            default_permissions = []
    
        def __str__(self):
            return self.application
    

    【讨论】:

      猜你喜欢
      • 2014-12-14
      • 2010-10-12
      • 2011-08-09
      • 2011-06-12
      • 2020-01-21
      • 2017-05-19
      • 2013-05-18
      • 1970-01-01
      • 2013-09-09
      相关资源
      最近更新 更多