diff options
Diffstat (limited to 'archaeological_operations')
| -rw-r--r-- | archaeological_operations/migrations/0063_parcel_uuid.py | 32 | ||||
| -rw-r--r-- | archaeological_operations/models.py | 22 | 
2 files changed, 35 insertions, 19 deletions
| diff --git a/archaeological_operations/migrations/0063_parcel_uuid.py b/archaeological_operations/migrations/0063_parcel_uuid.py new file mode 100644 index 000000000..4cd00f4f0 --- /dev/null +++ b/archaeological_operations/migrations/0063_parcel_uuid.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.18 on 2019-09-07 19:56 +from __future__ import unicode_literals + +import uuid + +from django.db import migrations, models + +from ishtar_common.utils_migrations import set_uuid_helper + + + +class Migration(migrations.Migration): + +    dependencies = [ +        ('archaeological_operations', '0062_parcelowner_uuid'), +    ] + +    operations = [ +        migrations.AddField( +            model_name='parcel', +            name='uuid', +            field=models.UUIDField(blank=True, null=True), +        ), +        migrations.RunPython(set_uuid_helper('archaeological_operations', +                                             'Parcel')), +        migrations.AlterField( +            model_name='parcel', +            name='uuid', +            field=models.UUIDField(default=uuid.uuid4), +        ), +    ] diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index b6686aa21..c2e4e618b 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -2203,19 +2203,6 @@ def strip_zero(value):      return value -class ParcelManager(models.Manager): -    def get_by_natural_key(self, associated_file, operation, year, town_insee, -                           town_year, section, parcel_number): -        q = {"year": year, "town__numero_insee": town_insee, -             "town__year": town_year, -             "section": section, "parcel_number": parcel_number} -        if associated_file: -            q['associated_file__external_id'] = associated_file -        if operation: -            q['operation__code_patriarche'] = operation -        return self.get(**q) - -  class Parcel(LightHistorizedItem):      EXTERNAL_ID_KEY = 'parcel_external_id'      BASE_SEARCH_VECTORS = [ @@ -2224,8 +2211,9 @@ class Parcel(LightHistorizedItem):          SearchVectorConfig("cached_label"),      ]      PARENT_SEARCH_VECTORS = ['operation'] -    objects = ParcelManager() +    objects = UUIDModelManager() +    uuid = models.UUIDField(default=uuid.uuid4)      associated_file = models.ForeignKey(          'archaeological_files.File',          related_name='parcels', verbose_name=_("File"), @@ -2266,11 +2254,7 @@ class Parcel(LightHistorizedItem):          return self.short_label      def natural_key(self): -        return ( -            self.associated_file.external_id if self.associated_file else '', -            self.operation.code_patriarche if self.operation else '', -            self.year, self.town.numero_insee, self.town.year, self.section, -            self.parcel_number) +        return (self.uuid, )      """      def merge(self, parcel): | 
