diff options
Diffstat (limited to 'archaeological_finds/models_finds.py')
-rw-r--r-- | archaeological_finds/models_finds.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py index 11c611eea..05321be50 100644 --- a/archaeological_finds/models_finds.py +++ b/archaeological_finds/models_finds.py @@ -2230,6 +2230,19 @@ class Find( materials.add(material) return ", ".join(sorted(materials)) + def get_hierarchical_material_types(self) -> str: + """ + Return comma separated string of material types with full hierarchy + """ + labels = [] + for material in self.material_types.all(): + mat = [material.label] + while material.parent: + mat.append(material.parent.label) + material = material.parent + labels.append(" > ".join([m for m in reversed(mat)])) + return " ; ".join(sorted(labels)) + def get_material_types_recommendations(self) -> str: """ Return comma separated string of recommendations from material |