Question

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

Was it helpful?

Solution

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.

OTHER TIPS

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

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top