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

Django

Django initiation

Toulouse Du 17 au 19 octobre 2022

Voir la formation

Django

Django avancé

A distance (foad) Du 7 au 9 novembre 2022

Voir la formation

Django

Django Rest Framework

A distance (foad) Du 1er au 6 décembre 2022

Voir la formation

Actualités en lien

02/08/2019 - 13:26

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 - 17:39

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 - 16:40

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