diff options
Diffstat (limited to 'archaeological_warehouse/management/commands')
-rw-r--r-- | archaeological_warehouse/management/commands/migrate_to_new_container_management.py | 13 |
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())) |