Skip to main content

PyPI PyPI download month

django-extended-history

django-extended-history is (IMHO) the simplest way to record all changes made in admin-screens.

Requirements

  • Django >=4.2

Features

  • Drop-in extension for Django history (Log entries). No changes in any model, hence no migrations.

  • Records all changes in JSON format, extending what Django stores by default.

  • Adds a view ‘Log entries’ under ‘Administration’, showing all content types for which a user has permissions.

  • Safe to remove. Django will ignore all extra recorded information and revert to it’s default history. So give it a spin!


Installation

pip install django-extended-history

Setup

Add django_extended_history to INSTALLED_APPS setting like this:

INSTALLED_APPS = [
...,
'django_extended_history',
]

Done!

Usage

Apply the DjangoExtendedHistory mixin to all applicable admin-views:

from django.contrib import admin
from .models import MyModel
from django_extended_history.admin import DjangoExtendedHistory

@admin.register(MyModel)
class MyModelAdmin(DjangoExtendedHistory, admin.ModelAdmin):
    ...

Example Log Entry

Below an example Log Entry where the first name of a user was changed from ‘John’ to ‘Jane’, the email address was changed accordingly and the user was added to a group ‘Expert’ at the same time.

https://github.com/HealthyFridge/django-extended-history/blob/main/Screenshot%20change%20message.png?raw=true

Settings

DJANGO_EXTENDED_HISTORY_LANGUAGE

By default, log entries are written in the language active during the request. Set this to a language code to write all log entries in a fixed language regardless of the user’s locale:

DJANGO_EXTENDED_HISTORY_LANGUAGE = 'en'

This is useful when you want consistent, searchable log entries across a multilingual site.

Misc

Django extended history is released under the BSD-3 license, like Django. If you like it, please consider contributing.

Metadata

Release files for django-extended-history 1.10.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-extended-history 1.10.0
File Size Uploaded Provenance Actions
django_extended_history-1.10.0.tar.gz 16.0 kB Without provenance Details for django_extended_history-1.10.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for django-extended-history 1.10.0
File Interpreter ABI Platform Actions
django_extended_history-1.10.0-py3-none-any.whl Python 3 none any Details for django_extended_history-1.10.0-py3-none-any.whl

Total release size: 32.1 kB

Release files / django_extended_history-1.10.0.tar.gz

Download URL django_extended_history-1.10.0.tar.gz
Size 16.0 kB
Tags Source
SHA-256 checksum
How to use checksums
557c29ad35e6c16208d57e023911a9e8d85568e625a1ada6bf8bca63adf5f1e2
BLAKE2b-256 checksum
How to use checksums
3c5ca1fafb3b13db5a7717c8edf0bdfe7e58e76cc0b345dc911d54898c2ceb3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release files / django_extended_history-1.10.0-py3-none-any.whl

Download URL django_extended_history-1.10.0-py3-none-any.whl
Size 16.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2533326b82d0dd27917d37da904e315791c524b6e64e1c145f87d5b3ae86c872
BLAKE2b-256 checksum
How to use checksums
38ef74c6cd0f4d760d3bdbf1b93b34728da14fc6aa91890f697acf87d4050d88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Security for django-extended-history 1.10.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page