在Django UserProfile模型中继承组权限

在Django UserProfile模型中继承组权限,django,django-models,django-permissions,Django,Django Models,Django Permissions,假设我有一个项目,我事先知道我只有三个用户组。我可以从GroupParent继承预先定义它们,然后使用这些组选项向我的UserProfile添加一个字段吗??这基本上就是我想做的: class GroupParent(??): class Meta: permissions = ( ('do_something', 'Can do something'), ('edit_task', 'Can edit task'),

假设我有一个项目,我事先知道我只有三个用户组。我可以从GroupParent继承预先定义它们,然后使用这些组选项向我的UserProfile添加一个字段吗??这基本上就是我想做的:

class GroupParent(??):
    class Meta:
        permissions = (
            ('do_something', 'Can do something'),
            ('edit_task', 'Can edit task'),
     );

class GroupAdmin(GroupParent):
    class Meta:
        // I want to inherit the permissions from the Mixin and add a few
        // I know this would only overwrite... how do I do it?
        permissions = (
            ('do_fancy_tasks', 'Can do fancy tasks'),
         )

class GroupCoordinator(GroupParent):
     class Meta:
     // inherit from GroupParent and add my own
         permissions = (
            ('open_file', 'Can open files'),
         )

class GroupNormal(GroupParent):
     class Meta:
     // inherit from GroupParent and add my own
         permissions = (
            ('open_file', 'Can open files'),
            ('edit_file', 'Can edit files'),
         )

class UserProfile(models.Model):
    user = models.OneToOneField(User)
    has_manager = models.BooleanField()
    ...
    ...
    group = models.CharField(max_length=2, choices=GROUP_CHOICES) // how??
这是一种合理的方法吗?还是我应该在应用程序构建后(或在构建时)放弃并设置组+权限


还有。。。与django的默认权限功能相比,使用django guardian有什么优势?如果我计划在这些模型中使用它,我应该记住什么?谢谢

简单的元组加法怎么样

class GroupParent(object):
    class Meta:
        permissions = (
            ('do_something', 'Can do something'),
            ('edit_task', 'Can edit task'),
        )

class GroupAdmin(GroupParent):
    class Meta:
        permissions = GroupParent.Meta.permissions + (
            ('do_fancy_tasks', 'Can do fancy tasks'),
         )
这没关系,因为GroupParent只是一个混音器。如果GroupParent是Django模型,则必须使用
GroupParent.\u meta.permissions