Deseo hacer un seguimiento del usuario que crea y luego actualiza todos los registros de un modelo determinado. Tengo la información de "usuario" en el UserProfile del usuario conectado (todos los usuarios deben haber iniciado sesión para actualizar estos registros).¿Cómo implementar la pista de auditoría del modelo Django? ¿Cómo accedes al usuario registrado en el método save() de modelos?
Respuesta
Parece que está buscando django-reversion, que le permite realizar un seguimiento de todos los cambios en un modelo determinado, incluidos algunos metadatos sobre el cambio (por ejemplo, quién lo hizo).
Django-revisión es más para rastrear el estado de un modelo a medida que evoluciona, no parece ayudar con el seguimiento del último usuario para modificar el registro. – MikeN
Sí lo hace, consulte la sección "Metadatos de versión" de http://code.google.com/p/django-reversion/wiki/LowLevelAPI –
Los modelos de Django no (a propósito) tienen acceso al objeto request
. Debe pasarlo al modelo en una vista.
¿por qué no? Me estoy encontrando con un caso en este momento en el que siento que necesito acceder al objeto de usuario actual dentro de un modelo. – ultrajohn
La forma más rápida para establecer el campo de usuario automáticamente para todos los cambios realizados en el admin, sería reemplazando el método save_model
en su clase de administración (de la documentación de Django):
class ArticleAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
obj.user = request.user
obj.save()
De lo contrario, puede use algo como django-revision mencionado por Dominic Rodger.
Esto solo funciona para el administrador. – MikeN
- 1. ¿Agregar solicitud al método del modelo django?
- 2. pedidos modelos de Django por un método en el modelo
- 3. Pista de auditoría: aplicación web
- 4. ¿Cómo agregar permisos personalizados al modelo de usuario en django?
- 5. reserva de la aduana método en el modelo - django
- 6. ¿Cómo imprimo las consultas ejecutadas por el método django .save()?
- 7. ¿Cómo accedes al historial del navegador?
- 8. Imagen de usuario de la tienda Django en el modelo
- 9. Conéctese al modelo de usuario en Django
- 10. que imita Django modelo y save()
- 11. Incluir usuario registrado de django en django Error de seguimiento
- 12. Modelo de usuario Django Oauth
- 13. django - obtener usuario registrado en el cliente de prueba
- 14. ¿Cómo extiendo el modelo del Grupo Django?
- 15. MVC3 + Cómo obtener el nombre de usuario del usuario registrado actualmente
- 16. Cuándo usar `save` vs` save! `En el modelo?
- 17. Cómo obtener la identificación del usuario actualmente registrado en pyrocms?
- 18. Administradores personalizados de Django para el modelo de usuario
- 19. ¿Cómo eliminar modelos de django?
- 20. Elevar un error de validación en el método de guardado de un modelo en Django
- 21. Django, agregando propiedades excluidas al modelo presentado
- 22. ¿Cómo implementar modelos sin respaldo de base de datos en Django?
- 23. Cómo obtener el usuario actual de Windows registrado en MSBuild
- 24. ¿Cómo puedo obtener una consulta para .save() en django?
- 25. En Django, ¿cómo imito el método de dos pasos de agregar usuarios a través del administrador para mis propios modelos?
- 26. Evite el uso recursivo save() cuando use el apio para actualizar los campos del modelo Django
- 27. Django - ¿Los métodos save() de modelo son flojos?
- 28. Comentarios de Django: desea eliminar la URL del usuario, no expandir el modelo. ¿Cómo?
- 29. Generar objetos de JavaScript de Django Modelos
- 30. ¿Cómo cargar el accesorio sql en Django para el modelo de Usuario?
Esto es muy tarde, sin embargo, he escrito una publicación exactamente para eso que puede ser útil para los usuarios que desean hacer auditorías modelo en django: http://spapas.github.io/2015/01/21/django- modelo de auditoría/ – Serafeim