data: make import_site an atomic query (#33948)
This commit is contained in:
parent
546336acc7
commit
8df192e455
|
@ -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'))
|
||||
|
|
Loading…
Reference in New Issue