summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2025-05-28 12:29:54 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2025-05-28 12:29:54 +0200
commit5afdb6bcbd9459a42ae3a0ee553be0e16bb37c21 (patch)
tree8f878af6ad565238b8cb89262db3604f8777d833
parentb63602093deaf1bfce2c5ac0df7c5901796221e9 (diff)
downloadIshtar-5afdb6bcbd9459a42ae3a0ee553be0e16bb37c21.tar.bz2
Ishtar-5afdb6bcbd9459a42ae3a0ee553be0e16bb37c21.zip
🐛 admin town: fix geojson import/export - manage missing provider
-rw-r--r--ishtar_common/models_common.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/ishtar_common/models_common.py b/ishtar_common/models_common.py
index bfbcb2748..01874bf56 100644
--- a/ishtar_common/models_common.py
+++ b/ishtar_common/models_common.py
@@ -3699,10 +3699,13 @@ class Town(GeographicItem, Imported, DocumentItem, MainItem, models.Model):
return
q = Town.objects.filter(numero_insee=numero_insee)
values = {
- "provider": GeoProviderType.objects.get(txt_idx=fields["provider"]),
"comment": fields["comment"],
- 'multi_polygon': fields["multi_polygon"]
+ "multi_polygon": fields["multi_polygon"]
}
+ if fields.get("provider", None):
+ values["provider"], __ = GeoProviderType.objects.get_or_create(
+ txt_idx=fields["provider"], defaults={"label": fields["provider"]}
+ )
if q.count():
source_id = q.all()[0].pk
q2 = GeoVectorData.objects.filter(
@@ -3867,7 +3870,7 @@ class Town(GeographicItem, Imported, DocumentItem, MainItem, models.Model):
"data_type": [
"town-limit"
],
- "provider": geo.provider.txt_idx,
+ "provider": geo.provider.txt_idx if geo.provider else None,
"comment": geo.comment,
"cached_x": geo.cached_x,
"cached_y": geo.cached_y,