Makina Blog

Le blog Makina-corpus

Présentation de django-tracking-fields


Suivi de modification d'objets Django

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.

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.

Formations associées

Formations Django

Formation Django initiation

Nantes Du 11 au 13 mars 2025

Voir la formation

Formations Django

Formation Django avancé

À distance (FOAD) Du 9 au 13 décembre 2024

Voir la formation

Formations Django

Formation Django REST Framework

À distance (FOAD) Du 9 au 13 juin 2025

Voir la formation

Actualités en lien

02/08/2019

Créer un tag d'inclusion avec paramètres dans Django

La bibliothèque de tags interne permet d'enregistrer des tags avec paramètres ou des tags d'inclusion de template, voici comment faire les deux en même temps.

Voir l'article
Image
Django_wagtail
18/07/2016

Presentation of the latest Django CMS: Wagtail

Wagtail is a quite recent Django CMS. However, its young age does not keep it from having a lot of features, which we will discover in this post.

Voir l'article
Image
StreamField wagtail
15/06/2016

Wagtail : Comment écrire les templates (partie 3)

Il n'y a pas de vue à proprement parlé dans Wagtail. Tout est en fait géré dans le modèle. Nous pouvons ainsi modifier le template utilisé ou étendre son contexte en fonction du type de contenu sans problème.

Voir l'article

Inscription à la newsletter

Nous vous avons convaincus