Pregunta Django: Permisos basados ​​en instancia de modelo


Tengo un modelo class Project y para cada instancia de modelo, debe haber un "grupo" de usuarios que pueden editar esa instancia. Creo que podría agregar otra clase de modelo llamada ProjectEditor para agregar esos editores. ¿Hay una mejor manera de implementar esto? ¿Qué hay de verificar los permisos? Necesitaría escribir mi propio método de permiso también, ¿no?

Gracias Eric


13
2017-08-08 16:51


origen


Respuestas:


Modelo (tabla) permisos de nivel se pueden lograr usando el grupos instalación provista por Django auth. Los grupos te permiten crear permisos personalizados en un modelo nivel. Ejemplo (fila) el nivel sería más complicado. Lo más probable es que tenga que escribir un mecanismo personalizado para lograr esto.

Aquí hay un Django Snippet eso podría darte algunas ideas.


3
2017-08-08 17:25



Guardián de Django parece ser la mejor solución hoy para los permisos de nivel de instancia del Modelo.


13
2017-12-19 15:36



Hubo un lanzamiento de código abierto para los permisos de fila / nivel de objeto por parte del equipo de Washington times que podría ser de utilidad:


2
2017-08-08 18:15