Django删除/制作抽象的auth.Group模型

时间:2015-03-10 21:18:58

标签: python django django-models

今天我遇到了向djangos auth.Group模型添加自定义权限的困难。使用我自己的模型很容易:

class Meta:
    permissions = ()

使用auth.Group我试过/想到以下内容:

  1. 在数据迁移中创建权限不起作用,因为在迁移后创建了ContentType对象。
  2. 使用post_migrate信号看起来没问题,但django docs表示不应该在post_migrate挂钩中更改数据库。我不太确定创建db条目是否算作幂等变化。
  3. 以某种方式修改Group._meta ['permissions'],但我不确定这是否会起作用。
  4. 删除auth_Group数据库表,或
  5. 以某种方式使用auth.Group作为抽象基类并创建class Group(auth.Group)
  6. 由于我已经通过mptt.register()和描述字段添加字段和方法来篡改auth.Group,我更喜欢声明我自己的Group模型;理想情况下使用该名称(我不知道auth后端如何使用不同命名的组模型)。

    如果不可能,我将不得不创建类似class MyGroup(auth.Group)的内容,或者找到在我的代码中某处创建自定义权限的正确方法。

    我很感激可能是一个很好的选择/解决方案的评论。

0 个答案:

没有答案