У меня есть пользовательская группа, называемая baseusers с набором разрешений, которые я добавил через admin. Если baseusers не существует, я хочу его создать и установить те же разрешения, что и сейчас. Я могу создать группу, но как узнать разрешения от оболочки, а затем добавить их в свой код? Например, две из разрешений называются can_fm_list и can_fm_add. Приложение называется fileman. Но мне нужно использовать id: s вместо этого? Вот код, который я хотел бы установить разрешения.
userprofile/views.py
from fileman.models import Setting (Has the permissions)
from fileman.models import Newuserpath
from django.contrib.auth.models import Group
def register(request):
...
if Group.objects.count() > 0:
newuser.groups.add(1)
else:
newgroup = Group(name='baseusers')
newgroup.save()
newuser.groups.add(1)
fileman/models.py
class Setting(models.Model):
owner = AutoForeignKey(User, unique=True, related_name='fileman_Setting')
root = models.CharField(max_length=250, null=True)
home = models.CharField(max_length=250, null=True)
buffer = models.TextField(blank=True)
class Meta:
permissions = (
("can_fm_list", _("Can look files list")),
("can_fm_add", _("Can upload files")),
("can_fm_rename", _("Can rename files")),
("can_fm_del", _("Can move files to basket")),
("can_fm_destruct", _("Can delete files")),
)
def __unicode__(self):
return unicode(self.owner)
def __init__(self, *args, **kwargs):
super(Setting, self).__init__(*args, **kwargs)
if not self.root:
self.root = None
self.home = None
def writeBuffer(self, data):
self.buffer = data
self.save()