summaryrefslogtreecommitdiff
path: root/archaeological_context_records/models.py
diff options
context:
space:
mode:
authorQuentinAndre <quentin.andre@imt-atlantique.net>2021-07-16 10:25:23 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2021-11-16 17:04:41 +0100
commitc217e7b18bc499f336d9679f4821078ee2ff1a61 (patch)
tree52d4653be660dbaef33e79d8a3e8a2e027b39b5b /archaeological_context_records/models.py
parentdc3d649e092fc232a9db07e5883015868f896140 (diff)
downloadIshtar-c217e7b18bc499f336d9679f4821078ee2ff1a61.tar.bz2
Ishtar-c217e7b18bc499f336d9679f4821078ee2ff1a61.zip
format GeoJSON and getting properly related objects
Diffstat (limited to 'archaeological_context_records/models.py')
-rw-r--r--archaeological_context_records/models.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py
index 01eb6e27b..50952d3a9 100644
--- a/archaeological_context_records/models.py
+++ b/archaeological_context_records/models.py
@@ -860,17 +860,18 @@ class ContextRecord(
def get_geo_items(self, get_polygons, rounded=True):
dict = super(ContextRecord, self).get_geo_items(get_polygons, rounded)
- associated_geo_items = {"associated base finds": {}}
BaseFind = apps.get_model("archaeological_finds", "BaseFind")
- for find_label in self._get_associated_cached_labels():
+ collection_base_finds = []
+ for bf in self.base_finds.distinct().all():
try:
- bf = BaseFind.objects.get(label=find_label)
- associated_geo_items["associated base finds"][
- str(find_label)
- ] = bf.get_geo_items(get_polygons, rounded)
+ geo_item = bf.get_geo_items(get_polygons, rounded)
+ collection_base_finds.append(geo_item)
except BaseFind.DoesNotExist:
pass
- dict["properties"] = associated_geo_items
+ dict["properties"]["base-finds"] = {
+ "type": "FeatureCollection",
+ "features": collection_base_finds,
+ }
return dict
@classmethod