2010-08-08 4 views
13

J'ai un modèle class Project et pour chaque instance de modèle, il devrait y avoir un «groupe» d'utilisateurs pouvant modifier cette instance. Je suppose que je pourrais ajouter une autre classe de modèle appelée ProjectEditor pour ajouter ces éditeurs. Existe-t-il une meilleure façon de mettre en œuvre cela? Qu'en est-il de vérifier les autorisations? J'aurais besoin d'écrire ma propre méthode d'autorisation, non?Django: Autorisations basées sur l'instance de modèle

Merci Eric

Répondre

3

Modèle autorisations de niveau (tableau) peuvent être obtenus en utilisant l'installation groups fourni par Django auth. Les groupes vous permettent de créer des autorisations personnalisées au niveau modèle. Instance (rangée) niveau serait plus compliqué. Vous devrez probablement écrire un mécanisme personnalisé pour accomplir ceci. Il s'agit d'un Django Snippet qui pourrait vous donner quelques idées.

2

Il y avait une version open source pour les autorisations de niveau ligne/objet par l'équipe fois washington qui pourraient être utiles:

+0

La page github associée est 404. –

+2

@DanAbramov: Essayez http://code.osuosl.org/projects/object-permissions où vous pouvez trouver la version 1.3.1 de mars. – ars

+0

Cool. Merci beaucoup. –

13

Django Guardian semble être la meilleure solution aujourd'hui pour le modèle autorisations de niveau d'instance.

Questions connexes