Grupos de usuarios y permisos

Necesito implementar derechos de usuario para grupos de usuarios (bastante similar a los grupos de Facebook). Por ejemplo, cada grupo puede tener miembros con derechos como: can_post, can_delete, can_ban, etc. Por supuesto, un usuario puede ser miembro de muchos grupos y un grupo puede tener muchos usuarios diferentes con diferentes derechos. ¿Qué modelos necesito para esta funcionalidad?

Django tiene un sistema integrado de grupos. Siempre que tenga una pregunta como esta, le recomiendo que busque los documentos de Django , que son extensos, útiles y están bien escritos.

Mientras esté utilizando la aplicación django.contrib.auth , tendrá acceso a los grupos. A continuación, puede asignar permisos a esos grupos.

 from django.contrib.auth.models import User, Group, Permission from django.contrib.contenttypes.models import ContentType content_type = ContentType.objects.get(app_label='myapp', model='BlogPost') permission = Permission.objects.create(codename='can_publish', name='Can Publish Posts', content_type=content_type) user = User.objects.get(username='duke_nukem') group = Group.objects.get(name='wizard') group.permissions.add(permission) user.groups.add(group)