diff options
| -rw-r--r-- | archaeological_finds/models_finds.py | 18 | 
1 files changed, 13 insertions, 5 deletions
| diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py index 3e492222d..35dc6995a 100644 --- a/archaeological_finds/models_finds.py +++ b/archaeological_finds/models_finds.py @@ -1117,13 +1117,17 @@ class Find(BulkUpdatedItem, ValueGetter, BaseHistorizedItem, ImageModel,          return cls._return_get_owns(owns, values, get_short_menu_class)      def _generate_cached_label(self): -        return unicode(self) +        self.cached_label_bulk_update(find_id=self.pk) +        return Find.objects.filter(pk=self.pk).values( +            'cached_label')[0]['cached_label']      @classmethod -    def cached_label_bulk_update(cls, operation_id=None, parcel_id=None, -                                 context_record_id=None, transaction_id=None): +    def cached_label_bulk_update( +            cls, operation_id=None, parcel_id=None, context_record_id=None, +            find_id=None, transaction_id=None):          transaction_id, is_recursion = cls.bulk_recursion( -            transaction_id, [operation_id, parcel_id, context_record_id]) +            transaction_id, [operation_id, parcel_id, context_record_id, +                             find_id])          if is_recursion:              return @@ -1155,9 +1159,13 @@ class Find(BulkUpdatedItem, ValueGetter, BaseHistorizedItem, ImageModel,                  ON myfbf.basefind_id = mybf.id AND mybf.context_record_id = %s              """              args = [int(context_record_id)] +        elif find_id: +            filters = """ +            where myf.id = %s +            """ +            args = [int(find_id)]          else:              return -          sql = """          UPDATE "archaeological_finds_find" AS f              SET cached_label = | 
