Utilisation du module `django-guardian`
La gestion des permissions par défaut dans Django est liée au modèle.
Le module django-guardian
se propose d'affiner la gestion en allant jusqu'à la permission de l'objet (comme cela peut l'être décrit de façon un peu compliquée ici).
Dans les choses intéressantes que j'ai pu y trouver :
- Définir des permissions sur un objet donné pour un utilisateur donné : https://django-guardian.readthedocs.io/en/stable/userguide/assign.html#for-user
- Retrouver tous les objets pour lequel un utilisateur a des droits : https://django-guardian.readthedocs.io/en/stable/userguide/check.html#get-objects-for-user
- Gestion des droits sur les objets directement depuis l'interface d'administration de Django : https://django-guardian.readthedocs.io/en/stable/userguide/admin-integration.html
Pourquoi celui-là plutôt qu'un autre :
- il est maintenu de façon continue
- il est disponible pour Django 2.0
- il est bien documenté
- il est utilisé dans http://www.django-rest-framework.org/