Accueil / Blog / Métier / 2020 / Présentation de django-tracking-fields

Présentation de django-tracking-fields

Par Yann Fouillat — publié 03/11/2020
Suivi de modification d'objets Django
Présentation de django-tracking-fields

Présentation

Avoir un historique "de qui modifie quoi" est un besoin récurrent.

django-tracking-fields permet de rajouter ce suivi sur n'importe quel champ de n'importe quel modèle.

L'application est disponible sur github et pypi.

Elle ajoute un décorateur @track permettant de spécifier les champs à surveiller. Le module django-cuser est requis pour enregistrer l'utilisateur ayant fait la modification. Les modifications sont ensuite visibles par défaut depuis l'administration de Django.

https://makina-corpus.com/blog/metier/2020/django-tracking-field-admin/image

La technique

Les signaux sont utilisés pour initialiser et enregistrer les changements de valeurs. À l'initialisation d'une instance, les valeurs des champs sont stockées. À la sauvegarde de cette même instance, les valeurs des champs sont comparées aux valeurs stockées et un évènement de modification est enregistré pour les champs dont la valeur diffère.

Là où la plupart des modules similaires stockent l'intégralité de l'instance afin de pouvoir y revenir plus tard, django-tracking-fields ne stocke que les modifications. Cette simplicité permet de garder un code maintenable facilement dans la durée et fonctionnant avec un maximum de versions de Django.

N'hésitez pas à consulter nos Réalisation Django.

ABONNEZ-VOUS À LA NEWSLETTER !
Voir aussi
Présentation de django-admin-watchdog Présentation de django-admin-watchdog 12/11/2020

Comment garder une trace des erreurs Django en toute simplicité.

Présentation de Django-Safedelete Présentation de Django-Safedelete 09/07/2013

Masquage d'objets en base de données une alternative à la suppression définitive.

Wagtail : Comment écrire les templates (partie 3) Wagtail : Comment écrire les templates (partie 3) 18/07/2016

Il n'y a pas de vue à proprement parlé dans Wagtail. Tout est en fait géré dans le modèle. ...

Wagtail : Utiliser le modèle Page ainsi que son Manager (partie 2) Wagtail : Utiliser le modèle Page ainsi que son Manager (partie 2) 12/07/2016

Le modèle Page contient plusieurs méthodes spécifiques à l'outil Wagtail. C'est également le ...

Wagtail : Créer ses modèles de type de contenu (partie 1) Wagtail : Créer ses modèles de type de contenu (partie 1) 05/07/2016

On commence à avoir l'habitude d'initialiser son CMS directement depuis une interface web, cela ...