2010-02-18 35 views
5

¿Puede un alma amable indicarme alguna buena documentación o muestras de código sobre la configuración de permisos basados ​​en grupos con Django? Mis requisitos son bastante simples: solo necesito habilitar/deshabilitar la funcionalidad en función de los grupos a los que pertenece un usuario.Django: ejemplos de permisos basados ​​en grupos/documentos?

Respuesta

3

Aquí hay un ejemplo básico.

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

En primer lugar, supongamos que tiene un modelo llamado Informe.

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 

Puede crear un modelo intermediario para el modelo de usuario para manejar los permisos de grupo:

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 

Ahora, cuando se está editando un informe en el sitio administrativo, puede asignar permisos de grupo a un informe . Estos grupos se pueden administrar como Grupos de informes en el administrador de Django, lo que le permite seleccionar de una vez quién pertenece a un grupo.

Cuestiones relacionadas