diff options
author | QuentinAndre <quentin.andre@imt-atlantique.net> | 2021-07-16 10:25:23 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-10-25 12:06:02 +0200 |
commit | c31d1773e5fe60baf3108aba736cd6538a8e4e73 (patch) | |
tree | 2e8805dc8faed655e4bc0dceec24cfb49599ff26 /archaeological_context_records | |
parent | b7413fe72698e37d281b3507edcb203191ef8f1e (diff) | |
download | Ishtar-c31d1773e5fe60baf3108aba736cd6538a8e4e73.tar.bz2 Ishtar-c31d1773e5fe60baf3108aba736cd6538a8e4e73.zip |
format GeoJSON and getting properly related objects
Diffstat (limited to 'archaeological_context_records')
-rw-r--r-- | archaeological_context_records/models.py | 15 |
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 |