From 8df192e4552201fd99ea9fa479469f3bc729c22a Mon Sep 17 00:00:00 2001 From: Nicolas ROCHE Date: Thu, 13 Jun 2019 14:16:12 +0200 Subject: [PATCH] data: make import_site an atomic query (#33948) --- combo/data/utils.py | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/combo/data/utils.py b/combo/data/utils.py index 0765d8bc..adf5ed9b 100644 --- a/combo/data/utils.py +++ b/combo/data/utils.py @@ -70,24 +70,18 @@ def import_site(data, if_empty=False, clean=False): if missing_groups: raise MissingGroups(names=sorted([x for x in missing_groups])) - if clean: - MapLayer.objects.all().delete() - Asset.objects.all().delete() - Page.objects.all().delete() - PwaSettings.objects.all().delete() - PwaNavigationEntry.objects.all().delete() - with transaction.atomic(): + if clean: + MapLayer.objects.all().delete() + Asset.objects.all().delete() + Page.objects.all().delete() + PwaSettings.objects.all().delete() + PwaNavigationEntry.objects.all().delete() + MapLayer.load_serialized_objects(data.get('map-layers') or []) - - with transaction.atomic(): Asset.load_serialized_objects(data.get('assets') or []) - - with transaction.atomic(): Page.load_serialized_pages(data.get('pages') or []) - if data.get('pwa'): - with transaction.atomic(): + if data.get('pwa'): PwaSettings.load_serialized_settings(data['pwa'].get('settings')) - with transaction.atomic(): PwaNavigationEntry.load_serialized_objects(data['pwa'].get('navigation'))