diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-06-01 14:02:59 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-06-01 14:02:59 +0200 |
commit | da37e53a06d8895e9bab4e6681c2d6ea087d1b76 (patch) | |
tree | b06809d5e620495e33587b19acf64aa0b89c30dc /ishtar_common/models.py | |
parent | 9daadad515ab17683e36e5cfe1b2cbcedf5dea96 (diff) | |
download | Ishtar-da37e53a06d8895e9bab4e6681c2d6ea087d1b76.tar.bz2 Ishtar-da37e53a06d8895e9bab4e6681c2d6ea087d1b76.zip |
Custom index - document: operation_source_type_code, index by operation and source_type code
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r-- | ishtar_common/models.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 72b2ff9cb..94e02aafe 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -3880,7 +3880,14 @@ class Document( ) return list(set(operations)) - def get_index_operation(self): + def get_index_operation_source_type_code(self): + if not self.source_type or not self.source_type.code: + return + return self.get_index_operation( + extra_filters={"source_type__code": self.source_type.code} + ) + + def get_index_operation(self, extra_filters=None): operations = self.get_related_operation_ids() if len(operations) != 1: return @@ -3892,8 +3899,10 @@ class Document( | Q(context_records__operation_id=current_operation) | Q(finds__base_finds__context_record__operation_id=current_operation) ) - .order_by("-custom_index") ) + if extra_filters: + q = q.filter(**extra_filters) + q = q.order_by("-custom_index") current_index = None for doc in q.all(): if not doc.custom_index: |