diff options
Diffstat (limited to 'ishtar_common/serializers_utils.py')
-rw-r--r-- | ishtar_common/serializers_utils.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/ishtar_common/serializers_utils.py b/ishtar_common/serializers_utils.py index efa390e59..e3b132ae0 100644 --- a/ishtar_common/serializers_utils.py +++ b/ishtar_common/serializers_utils.py @@ -108,7 +108,7 @@ def archive_serialization(result, archive_dir=None, archive=False, def generic_get_results(model_list, dirname, no_geo=True, - result_queryset=None): + result_queryset=None, serialization_include=None): result = OrderedDict() for model in model_list: base_model_name = model.__name__ @@ -173,11 +173,15 @@ def generic_get_results(model_list, dirname, no_geo=True, excluded_fields = ["history_modifier", "history_creator", "imports", "locked", "lock_user"] if hasattr(model, "SERIALIZATION_EXCLUDE"): - excluded_fields = list(model.SERIALIZATION_EXCLUDE) + excluded_fields += list(model.SERIALIZATION_EXCLUDE) if no_geo: excluded_fields += ["center", "limit"] + [ field.name for field in models.GeoItem._meta.get_fields() ] + if serialization_include and model.__name__ in serialization_include: + for k in serialization_include[model.__name__]: + if k in excluded_fields: + excluded_fields.pop(excluded_fields.index(k)) if excluded_fields: new_result = json.loads(result[key]) for idx in range(len(new_result)): |