diff options
-rw-r--r-- | ishtar_common/models.py | 3 | ||||
-rw-r--r-- | ishtar_common/utils.py | 14 |
2 files changed, 16 insertions, 1 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index c4a09879e..d58d549c8 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -60,7 +60,7 @@ from simple_history.models import HistoricalRecords as BaseHistoricalRecords from ishtar_common.ooo_replace import ooo_replace from ishtar_common.model_merging import merge_model_objects -from ishtar_common.utils import get_cache +from ishtar_common.utils import get_cache, disable_for_loaddata from ishtar_common.data_importer import Importer, ImportFormater, \ IntegerFormater, FloatFormater, UnicodeFormater, DateFormater, \ TypeFormater, YearFormater, StrToBoolean, FileFormater @@ -308,6 +308,7 @@ class Cached(object): return None +@disable_for_loaddata def post_save_cache(sender, **kwargs): sender.refresh_cache() diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py index ddd9268ce..60913851e 100644 --- a/ishtar_common/utils.py +++ b/ishtar_common/utils.py @@ -17,6 +17,7 @@ # See the file COPYING for details. +from functools import wraps import hashlib import random @@ -94,6 +95,19 @@ def mode(array): return list(set(filter(lambda x: array.count(x) == most, array))) +def disable_for_loaddata(signal_handler): + """ + Decorator that turns off signal handlers when loading fixture data. + """ + + @wraps(signal_handler) + def wrapper(*args, **kwargs): + if kwargs.get('raw'): + return + signal_handler(*args, **kwargs) + return wrapper + + def _get_image_link(item): # manage missing images if not item.thumbnail or not item.thumbnail.url: |