summaryrefslogtreecommitdiff
path: root/archaeological_operations
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2019-09-06 10:55:14 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2019-09-06 10:55:14 +0200
commite2f4f113f4b3f5742c4b61707bfbe2d8fa6cca91 (patch)
treedfec52ee013945688f6cf89cd40859e9bf41ad85 /archaeological_operations
parent765b0197a138a9c051902c11a5f7e83e071f8b3b (diff)
downloadIshtar-e2f4f113f4b3f5742c4b61707bfbe2d8fa6cca91.tar.bz2
Ishtar-e2f4f113f4b3f5742c4b61707bfbe2d8fa6cca91.zip
Serialization: add uuid to parcel owner - test that only natural keys are used
Diffstat (limited to 'archaeological_operations')
-rw-r--r--archaeological_operations/migrations/0062_parcelowner_uuid.py21
-rw-r--r--archaeological_operations/models.py5
2 files changed, 26 insertions, 0 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