Django: Пример групповых разрешений / docs? - PullRequest
5 голосов
/ 18 февраля 2010

Может ли добрая душа указать мне на хорошую документацию или примеры кода по настройке групповых разрешений с Django? Мои требования довольно просты - мне просто нужно включить / отключить функциональность в зависимости от того, к каким группам принадлежит пользователь.

1 Ответ

3 голосов
/ 18 февраля 2010

Вот базовый пример.

См .: http://www.thinkjson.com/group-permissions-in-django/

Прежде всего, скажем, у вас есть модель под названием Report.

class Report(models.Model):
    name = models.CharField(max_length=100)
    contents = models.TextField(blank=True)
    authorized_groups = models.ManyToManyField('ReportGroup', null=True, blank=True, related_name='report_groups')    
    def __str__(self):
        return self.name

Вы можете создать модель-посредник для модели User для обработки разрешений группы:

class ReportGroup(models.Model):
    name = models.CharField(max_length=100)
    authorized_users = models.ManyToManyField(User, null=True, blank=True, related_name='report_users')
    def __str__(self):
        return self.name

Теперь, когда вы редактируете отчет в администраторе Django, вы можете назначать групповые разрешения для отчета. Эти группы можно администрировать как группы отчетов в администраторе Django, что позволяет вам одним снимком выбрать, кто принадлежит группе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...