【问题标题】:Django - Create "hard-coded" groups and permissionsDjango - 创建“硬编码”组和权限
【发布时间】:2015-02-02 22:09:44
【问题描述】:

我需要定义一些在模型和视图中使用的权限和组。我知道如何使用权限来做到这一点(在某些模型的“元”中定义它们),但我不清楚如何使用组来做到这一点。也许正确的做法是不要使用 Django 的 Auth 中提供的组,而是创建一些新模型来处理这些“常量”组。

我也尝试将这些组创建为“初始数据”(https://docs.djangoproject.com/en/1.7/howto/initial-data/),但这个解决方案对我来说似乎不是很干净。

【问题讨论】:

  • 您需要更好地定义组...在 django 组中只是一种设置给定用户权限的快速方法...如果您正在谈论组织组,您几乎肯定需要创建一个新型组\

标签: python django django-1.7 django-permissions


【解决方案1】:

由于组存储在数据库中的 auth.group 表中,因此无法在代码中创建硬编码组(无需修改 Django 源代码)。让您的组进入此表的可能方法是:

  1. 初始数据,正如您已经完成的那样(推荐作为它的设计目的)
  2. 创建包含组的数据迁移
  3. 将其添加到有点讨厌的代码中

    从 django.contrib.auth.models 导入组
    p, created = Group.objects.get_or_create(name = 'Administrators')

【讨论】:

    猜你喜欢
    • 2012-10-13
    • 2014-04-30
    • 2014-04-10
    • 2013-09-18
    • 2016-07-10
    • 2013-11-20
    • 2013-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多