migrate to django's native JSONField

This commit is contained in:
Laura Klünder 2022-04-03 19:40:12 +02:00
parent cde394e16e
commit 9d21f8c933
10 changed files with 480 additions and 14 deletions

View file

@ -0,0 +1,47 @@
# Generated by Django 4.0.3 on 2022-04-03 17:32
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('contenttypes', '0002_remove_content_type_name'),
('editor', '0001_squashed_2018'),
]
operations = [
migrations.AlterField(
model_name='changedobject',
name='changeset',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='editor.changeset', verbose_name='Change Set'),
),
migrations.AlterField(
model_name='changedobject',
name='content_type',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='contenttypes.contenttype'),
),
migrations.AlterField(
model_name='changedobject',
name='m2m_added',
field=models.JSONField(default=dict, verbose_name='added m2m values'),
),
migrations.AlterField(
model_name='changedobject',
name='m2m_removed',
field=models.JSONField(default=dict, verbose_name='removed m2m values'),
),
migrations.AlterField(
model_name='changedobject',
name='updated_fields',
field=models.JSONField(default=dict, verbose_name='updated fields'),
),
migrations.AlterField(
model_name='changeset',
name='author',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL, verbose_name='Author'),
),
]

View file

@ -9,7 +9,7 @@ from django.db.models import CharField, DecimalField, Field, TextField
from django.utils.translation import gettext_lazy as _
from c3nav.editor.wrappers import ModelInstanceWrapper, is_created_pk
from c3nav.mapdata.fields import I18nField, JSONField
from c3nav.mapdata.fields import I18nField
from c3nav.mapdata.models.locations import LocationRedirect
@ -35,9 +35,9 @@ class ChangedObject(models.Model):
created = models.DateTimeField(auto_now_add=True, verbose_name=_('created'))
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
existing_object_pk = models.PositiveIntegerField(null=True, verbose_name=_('id of existing object'))
updated_fields = JSONField(default={}, verbose_name=_('updated fields'))
m2m_added = JSONField(default={}, verbose_name=_('added m2m values'))
m2m_removed = JSONField(default={}, verbose_name=_('removed m2m values'))
updated_fields = models.JSONField(default=dict, verbose_name=_('updated fields'))
m2m_added = models.JSONField(default=dict, verbose_name=_('added m2m values'))
m2m_removed = models.JSONField(default=dict, verbose_name=_('removed m2m values'))
deleted = models.BooleanField(default=False, verbose_name=_('object was deleted'))
objects = ChangedObjectManager()