diff --git a/auditlog/migrations/0004_logentry_detailed_object_repr.py b/auditlog/migrations/0004_logentry_detailed_object_repr.py index 4a242cd..4eccf59 100644 --- a/auditlog/migrations/0004_logentry_detailed_object_repr.py +++ b/auditlog/migrations/0004_logentry_detailed_object_repr.py @@ -1,5 +1,5 @@ -import jsonfield.fields from django.db import migrations, models +from django_jsonfield_backport.models import JSONField class Migration(migrations.Migration): @@ -12,6 +12,6 @@ class Migration(migrations.Migration): migrations.AddField( model_name="logentry", name="additional_data", - field=jsonfield.fields.JSONField(null=True, blank=True), + field=JSONField(null=True, blank=True), ), ] diff --git a/auditlog/migrations/0005_logentry_additional_data_verbose_name.py b/auditlog/migrations/0005_logentry_additional_data_verbose_name.py index 67edeed..9c753fb 100644 --- a/auditlog/migrations/0005_logentry_additional_data_verbose_name.py +++ b/auditlog/migrations/0005_logentry_additional_data_verbose_name.py @@ -1,5 +1,5 @@ -import jsonfield.fields from django.db import migrations, models +from django_jsonfield_backport.models import JSONField class Migration(migrations.Migration): @@ -12,8 +12,6 @@ class Migration(migrations.Migration): migrations.AlterField( model_name="logentry", name="additional_data", - field=jsonfield.fields.JSONField( - null=True, verbose_name="additional data", blank=True - ), + field=JSONField(null=True, verbose_name="additional data", blank=True), ), ] diff --git a/auditlog/migrations/0009_alter_logentry_additional_data.py b/auditlog/migrations/0009_alter_logentry_additional_data.py new file mode 100644 index 0000000..d688d7b --- /dev/null +++ b/auditlog/migrations/0009_alter_logentry_additional_data.py @@ -0,0 +1,17 @@ +from django.db import migrations +from django_jsonfield_backport.models import JSONField + + +class Migration(migrations.Migration): + + dependencies = [ + ("auditlog", "0008_action_index"), + ] + + operations = [ + migrations.AlterField( + model_name="logentry", + name="additional_data", + field=JSONField(blank=True, null=True, verbose_name="additional data"), + ), + ] diff --git a/auditlog/models.py b/auditlog/models.py index 827e1a2..582f2a6 100644 --- a/auditlog/models.py +++ b/auditlog/models.py @@ -12,7 +12,7 @@ from django.db.models import Field, Q, QuerySet from django.utils import formats, timezone from django.utils.encoding import smart_str from django.utils.translation import gettext_lazy as _ -from jsonfield.fields import JSONField +from django_jsonfield_backport.models import JSONField class LogEntryManager(models.Manager): diff --git a/auditlog_tests/test_settings.py b/auditlog_tests/test_settings.py index 1ebfdc7..4a2835d 100644 --- a/auditlog_tests/test_settings.py +++ b/auditlog_tests/test_settings.py @@ -14,6 +14,7 @@ INSTALLED_APPS = [ "django.contrib.sessions", "django.contrib.admin", "django.contrib.staticfiles", + "django_jsonfield_backport", "auditlog", "auditlog_tests", ] diff --git a/auditlog_tests/tests.py b/auditlog_tests/tests.py index f8b411d..1b31ce9 100644 --- a/auditlog_tests/tests.py +++ b/auditlog_tests/tests.py @@ -1,5 +1,4 @@ import datetime -import json import django from dateutil.tz import gettz @@ -403,12 +402,7 @@ class AdditionalDataModelTest(TestCase): obj_with_additional_data.history.count() == 1, msg="There is 1 log entry" ) log_entry = obj_with_additional_data.history.get() - # FIXME: Work-around for the fact that additional_data isn't working - # on Django 3.1 correctly (see https://github.com/jazzband/django-auditlog/issues/266) - if django.VERSION >= (3, 1): - extra_data = json.loads(log_entry.additional_data) - else: - extra_data = log_entry.additional_data + extra_data = log_entry.additional_data self.assertIsNotNone(extra_data) self.assertTrue( extra_data["related_model_text"] == related_model.text, diff --git a/setup.py b/setup.py index 0d36676..44dd547 100644 --- a/setup.py +++ b/setup.py @@ -22,7 +22,7 @@ setup( description="Audit log app for Django", long_description=long_description, long_description_content_type="text/markdown", - install_requires=["django-jsonfield>=1.0.0", "python-dateutil>=2.6.0"], + install_requires=["django-jsonfield-backport>=1.0.0", "python-dateutil>=2.6.0"], zip_safe=False, classifiers=[ "Programming Language :: Python :: 3",