diff options
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 |
commit | 025959b715fc1e088dde189d11ac37e431b35911 (patch) | |
tree | 9d63447df2e04e5a83c55d1bc6a583c46331b066 | |
parent | 381adb20cd1c01cf38f47dacac04e0440923a64f (diff) | |
download | Ishtar-025959b715fc1e088dde189d11ac37e431b35911.tar.bz2 Ishtar-025959b715fc1e088dde189d11ac37e431b35911.zip |
Find: add a "first" material type getter
-rw-r--r-- | archaeological_finds/models_finds.py | 13 | ||||
-rw-r--r-- | ishtar_common/alternative_configs.py | 2 |
2 files changed, 12 insertions, 3 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): diff --git a/ishtar_common/alternative_configs.py b/ishtar_common/alternative_configs.py index 269b44948..4e4cd66cf 100644 --- a/ishtar_common/alternative_configs.py +++ b/ishtar_common/alternative_configs.py @@ -3,7 +3,7 @@ class ConfigDrassm(object): - LABEL = u"DRASSM" + LABEL = "DRASSM" @classmethod def find_administrative_index(cls, find): |