2010-02-25 4 views
14

Lorsque vous créez ou modifiez une instance d'objet dans l'admin de Django, une entrée changelog est créée. C'est vraiment bien pour des raisons assez évidentes. Cependant, les instances de mon modèle créées par un utilisateur normal en dehors de l'interface d'administration. Aucun changelog n'est enregistré pour noter sa création (pas un gros problème) mais je voudrais suivre les modifications effectuées par l'utilisateur. Je veux aussi montrer à l'utilisateur ce journal complet (modifications de l'utilisateur et de l'administrateur) dans le frontend, donc j'ai besoin d'un moyen d'extraire le changelog.Suivi des modifications apportées aux instances du modèle Django

Ma question: comment? Y a-t-il un commutateur d'une ligne que je peux balayer pour activer la journalisation complète ou dois-je creuser et faire quelque chose sur la logique de formulaire d'édition de mon utilisateur?

+2

Vous pouvez utiliser le modèle django admin LogEntry vous-même: http://stackoverflow.com/questions/1398051/getting-the-history-of-an-object –

+1

Ou utilisez la piste d'audit de Marty Alchin: http://stackoverflow.com/questions/818823/django-audittrail-vs-reversion –

Répondre

9

django-reversion est une application conçue pour aider avec cela.

+0

Je n'ai pas réellement utilisé cette solution, mais pouvez-vous réellement obtenir un changelog de django-reversion? +1 de toute façon parce que je pense que cela pourrait encore répondre aux besoins d'Oli. –

+0

C'est de loin la méthode la plus simple. Il a des méthodes incroyables et très pythoniques pour suivre les changements qui correspondent parfaitement à mon style. Je suis sûr que je trouverai un moyen d'extraire la liste des changements! – Oli

+0

jeter un oeil à admin.py histoire_view –

Questions connexes