2010-02-25 12 views
14

Cuando crea o modifica una instancia de objeto en el administrador de Django, se crea una entrada de registro de cambios. Esto es realmente bueno por razones bastante obvias.Seguimiento de cambios a las instancias de Django Model

Sin embargo, las instancias de mi modelo creadas por un usuario normal fuera de la interfaz de administración. No se registra ningún registro de cambios para notar su creación (no es un gran problema) pero me gustaría hacer un seguimiento de las ediciones que hace el usuario.

También quiero mostrarle al usuario este registro completo (ediciones de usuario + administrador) en la interfaz, así que necesito una forma de sacar el registro de cambios.

Mi pregunta: ¿cómo? ¿Hay un interruptor de una línea que puedo mover para habilitar el registro completo o tengo que excavar y hacer algo en la lógica de formulario de edición de mi usuario?

+2

Puede usar el mismo modelo LogEntry de administrador de django: http://stackoverflow.com/questions/1398051/getting-the-history-of-an-object –

+1

O utilice la pista de auditoría de Marty Alchin: http://stackoverflow.com/questions/818823/django-audittrail-vs-reversion –

Respuesta

9

django-reversion es una aplicación diseñada para ayudar con eso.

+0

No he usado esta solución, pero ¿puede obtener un registro de cambios de django-reversión? +1 de todos modos porque creo que todavía podría satisfacer las necesidades de Oli. –

+0

Este es de lejos el método más simple. Tiene métodos de encuadernación increíbles y muy pitónicos para seguir los cambios que se ajustan perfectamente a mi estilo. ¡Estoy seguro de que encontraré la forma de extraer la lista de cambios! – Oli

+0

eche un vistazo a admin.py history_view –

Cuestiones relacionadas