Django - 创建"硬编码"组和权限

时间:2015-02-02 22:09:44

标签: python django django-1.7 django-permissions

我需要定义模型和视图中使用的一些权限和组。我知道如何使用权限(在某些模型的" Meta"中定义它们),但我不清楚如何使用组进行操作。也许正确的做法是不使用Django的Auth中提供的组,而是创建一些新的模型来处理这些"常数"基团。

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

1 个答案:

答案 0 :(得分:0)

无法在代码中创建硬编码组(无需修改Django源),因为这些组存储在数据库中的auth.group表中。将您的小组纳入此表的可能方法是:

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

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