summaryrefslogtreecommitdiff
path: root/archaeological_finds/models_finds.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2020-05-06 19:39:36 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2020-05-06 19:39:36 +0200
commit9d3b66a1ad4cb58def1d76084da58dc0c706cdba (patch)
tree9d63447df2e04e5a83c55d1bc6a583c46331b066 /archaeological_finds/models_finds.py
parent91c17204227625501f1d2b26adad46872f45a30e (diff)
downloadIshtar-9d3b66a1ad4cb58def1d76084da58dc0c706cdba.tar.bz2
Ishtar-9d3b66a1ad4cb58def1d76084da58dc0c706cdba.zip
Find: add a "first" material type getter
Diffstat (limited to 'archaeological_finds/models_finds.py')
-rw-r--r--archaeological_finds/models_finds.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py
index 25563edd0..b0c5a0332 100644
--- a/archaeological_finds/models_finds.py
+++ b/archaeological_finds/models_finds.py
@@ -1684,8 +1684,17 @@ class Find(BulkUpdatedItem, ValueGetter, DocumentItem, BaseHistorizedItem,
@property
def materials(self):
- return u" ; ".join([str(material)
- for material in self.material_types.all()])
+ return " ; ".join([str(material)
+ for material in self.material_types.all()])
+
+ def get_first_material_type(self):
+ model = self.__class__.material_types.through
+ q = model.objects.filter(find=self)
+ if not q.count():
+ return
+ if q.filter(materialtype__parent__isnull=True).count():
+ q = q.filter(materialtype__parent__isnull=True)
+ return q.order_by("materialtype__label")[0].materialtype
@property
def show_url(self):