From 814f35c4266605cff291ea4384aaf2a7202edc9c Mon Sep 17 00:00:00 2001 From: mpeltriaux Date: Thu, 17 Nov 2022 10:13:22 +0100 Subject: [PATCH] Fix CompensationAction unit None * adds correct declaration of unit (qm -> m2) for template rendering * adds migration to transform existing qm units to m2 --- .../migrations/0013_auto_20221117_0819.py | 35 +++++++++++++++++++ compensation/models/action.py | 3 +- 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 compensation/migrations/0013_auto_20221117_0819.py diff --git a/compensation/migrations/0013_auto_20221117_0819.py b/compensation/migrations/0013_auto_20221117_0819.py new file mode 100644 index 00000000..defcfbc2 --- /dev/null +++ b/compensation/migrations/0013_auto_20221117_0819.py @@ -0,0 +1,35 @@ +# Generated by Django 3.1.3 on 2022-11-17 07:19 + +from django.db import migrations + +from compensation.models import UnitChoices + + +def harmonize_action_units(apps, schema_editor): + """ + CompensationAction units (based on UnitChoices) can be mixed up at this point where + * qm represents m² and + * m2 represents m² + + We drop qm in support of m2 + + """ + CompensationAction = apps.get_model("compensation", "CompensationAction") + actions = CompensationAction.objects.filter( + unit="qm" + ) + + for action in actions: + action.unit = UnitChoices.m2 + action.save() + + +class Migration(migrations.Migration): + + dependencies = [ + ('compensation', '0012_auto_20221116_1322'), + ] + + operations = [ + migrations.RunPython(harmonize_action_units), + ] diff --git a/compensation/models/action.py b/compensation/models/action.py index e54f53d3..58e41c46 100644 --- a/compensation/models/action.py +++ b/compensation/models/action.py @@ -19,8 +19,9 @@ class UnitChoices(models.TextChoices): """ cm = "cm", _("cm") m = "m", _("m") + m2 = "m2", _("m²") + m3 = "m3", _("m³") km = "km", _("km") - qm = "qm", _("m²") ha = "ha", _("ha") st = "pcs", _("Pieces") # pieces