13

I have a model class Project and for each model instance, there should be a 'group' of users who may edit that instance. I guess I could add another model class called ProjectEditor to add those editors. Is there a better way of implementing this? What about checking for permissions? I would need to write my own permission method then too, right?

Thanks Eric

Ivan Kharlamov
  • 1,889
  • 2
  • 24
  • 33

3 Answers3

15

Django Guardian seems to be the best solution today for Model instance level permissions.

Myers Carpenter
  • 939
  • 1
  • 9
  • 12
3

Model (table) level permissions can be achieved using the groups facility provided by Django auth. Groups let you create custom permissions at a model level. Instance (row) level would be trickier. You would most likely have to write a custom mechanism to accomplish this.

Here is a Django Snippet that might give you some ideas.

Manoj Govindan
  • 72,339
  • 21
  • 134
  • 141
2

There was an open source release for row/object level permissions by the washington times team that might be of use:

ars
  • 120,335
  • 23
  • 147
  • 134
  • 2
    @DanAbramov: Try http://code.osuosl.org/projects/object-permissions where you can find the 1.3.1 release from March. – ars Oct 23 '11 at 15:54