Django: autorisations basées sur le modèle d'instance
-
26-09-2019 - |
Question
J'ai un class Project
modèle et pour chaque instance de modèle, il devrait y avoir un « groupe » d'utilisateurs qui peuvent modifier cette instance. Je suppose que je pourrais ajouter une autre classe de modèle appelé ProjectEditor ajouter ces éditeurs. Est-il possible de mieux de mettre en œuvre ce? Qu'en est-il la vérification des autorisations? Je aurais besoin d'écrire ma propre méthode d'autorisation alors, non?
Merci Eric
La solution
Modèle (tableau) les autorisations de niveau peuvent être obtenus en utilisant le installation groupes fournis par Django auth
. Les groupes vous permettent de créer des autorisations personnalisées à modèle niveau. niveau instance (ligne) serait plus délicat. Vous auriez le plus susceptible d'écrire un mécanisme personnalisé pour y parvenir.
Voici un Django Snippet qui pourraient vous donner quelques idées.
Autres conseils
Django gardien semble être la meilleure solution aujourd'hui pour les autorisations de niveau de l'instance Model.
Il y avait une version open source pour les autorisations de niveau ligne / objet par l'équipe fois washington qui pourraient être utiles: