diff options
-rw-r--r-- | archaeological_operations/migrations/0062_parcelowner_uuid.py | 21 | ||||
-rw-r--r-- | archaeological_operations/models.py | 5 | ||||
-rw-r--r-- | ishtar_common/tests.py | 8 |
3 files changed, 33 insertions, 1 deletions
diff --git a/archaeological_operations/migrations/0062_parcelowner_uuid.py b/archaeological_operations/migrations/0062_parcelowner_uuid.py new file mode 100644 index 000000000..0cc25d739 --- /dev/null +++ b/archaeological_operations/migrations/0062_parcelowner_uuid.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.18 on 2019-09-06 10:53 +from __future__ import unicode_literals + +from django.db import migrations, models +import uuid + + +class Migration(migrations.Migration): + + dependencies = [ + ('archaeological_operations', '0061_auto_20190904_1440'), + ] + + operations = [ + migrations.AddField( + model_name='parcelowner', + name='uuid', + field=models.UUIDField(default=uuid.uuid4), + ), + ] diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index 7a5174743..b6686aa21 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -2461,12 +2461,14 @@ post_save.connect(parcel_post_save, sender=Parcel) class ParcelOwner(LightHistorizedItem): + uuid = models.UUIDField(default=uuid.uuid4) owner = models.ForeignKey(Person, verbose_name=_("Owner"), related_name="parcel_owner") parcel = models.ForeignKey(Parcel, verbose_name=_("Parcel"), related_name='owners') start_date = models.DateField(_("Start date")) end_date = models.DateField(_("End date")) + objects = UUIDModelManager() class Meta: verbose_name = _("Parcel owner") @@ -2475,6 +2477,9 @@ class ParcelOwner(LightHistorizedItem): def __str__(self): return "{}{}{}".format(self.owner, settings.JOINT, self.parcel) + def natural_key(self): + return (self.uuid, ) + @property def operation(self): return self.parcel.operation diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py index 68c206865..aa67d2e6b 100644 --- a/ishtar_common/tests.py +++ b/ishtar_common/tests.py @@ -611,7 +611,13 @@ class GenericSerializationTest: module = importlib.import_module(module_name + ".models") model = getattr(module, model_name) current_count = model.objects.count() - serialization_count = len(json.loads(json_result[key])) + result = json.loads(json_result[key]) + serialization_count = len(result) + # all serialization have to be tested + self.assertTrue(serialization_count) + # only "natural" serialization + self.assertNotIn("pk", result[0]) + self.assertNotIn("id", result[0]) # has to be at least equal (can be superior for model with # recursion) self.assertTrue( |