summaryrefslogtreecommitdiff
path: root/archaeological_warehouse/management/commands
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_warehouse/management/commands')
-rw-r--r--archaeological_warehouse/management/commands/migrate_to_new_container_management.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/archaeological_warehouse/management/commands/migrate_to_new_container_management.py b/archaeological_warehouse/management/commands/migrate_to_new_container_management.py
index d8f701793..44895ce69 100644
--- a/archaeological_warehouse/management/commands/migrate_to_new_container_management.py
+++ b/archaeological_warehouse/management/commands/migrate_to_new_container_management.py
@@ -87,8 +87,17 @@ class Command(BaseCommand):
ref].append(division.reference.strip())
parent = new_container
if parent:
- container.parent = parent
- container.save()
+ q = models.Container.objects.filter(
+ location=container.location,
+ container_type=container.container_type,
+ parent=parent,
+ reference=container.reference).exclude(pk=container.pk)
+ if q.count():
+ other = q.all()[0]
+ other.merge(container)
+ else:
+ container.parent = parent
+ container.save()
data.append((container.id, str(container.responsible),
container.reference, cached_division,
container._generate_cached_division()))