2010-02-25 14 views
14

Quando si crea o modifica un'istanza dell'oggetto nell'amministratore di Django, viene creata una voce del registro delle modifiche. Questo è davvero bello per ragioni abbastanza ovvie.Tracciamento delle modifiche alle istanze del modello Django

Tuttavia, le istanze del mio modello create da un utente normale al di fuori dell'interfaccia di amministrazione. Nessun registro delle modifiche è registrato per notare la sua creazione (non è un grosso problema), ma mi piacerebbe tenere traccia delle modifiche apportate dall'utente.

Voglio anche mostrare all'utente questo registro completo (user + admin edit) nel frontend, quindi ho bisogno di un modo per estrarre il log delle modifiche.

La mia domanda: come? C'è un interruttore a una riga che posso attivare per abilitare la registrazione completa o devo scavare e fare qualcosa sulla logica del modulo di modifica del mio utente?

+2

È possibile utilizzare il modello LogEntry dell'amministratore di django da soli: http://stackoverflow.com/questions/1398051/getting-the-history-of-an-object –

+1

Oppure utilizzare la pista di controllo di Marty Alchin: http://stackoverflow.com/questions/818823/django-audittrail-vs-reversion –

risposta

9

django-reversion è un'applicazione progettata per aiutare con quello.

+0

In realtà non ho usato questa soluzione, ma puoi davvero ottenere un log delle modifiche da django-reversion? +1 in ogni caso perché penso che potrebbe ancora soddisfare i bisogni di Oli. –

+0

Questo è di gran lunga il metodo più semplice. Ha metodi sorprendenti e molto pitonici per legare i cambiamenti che si adattano perfettamente al mio stile. Sono sicuro che troverò un modo per estrarre la lista delle modifiche! – Oli

+0

dai un'occhiata a admin.py history_view –

Problemi correlati