diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2024-09-08 11:43:36 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2024-09-10 15:40:21 +0200 |
commit | 9c677ef564ecb3f5990c129975978eccd49c2b20 (patch) | |
tree | f5548229426658c16c51723b077fdb08f2b74d4e /ishtar_common/model_merging.py | |
parent | 1937a837f3df723aaed6466872e8536c49aef108 (diff) | |
download | Ishtar-9c677ef564ecb3f5990c129975978eccd49c2b20.tar.bz2 Ishtar-9c677ef564ecb3f5990c129975978eccd49c2b20.zip |
🐛 merge: do not merge import association
Otherwise, this may result in unwanted deletion when deleting an import
Diffstat (limited to 'ishtar_common/model_merging.py')
-rw-r--r-- | ishtar_common/model_merging.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/ishtar_common/model_merging.py b/ishtar_common/model_merging.py index 0e1d34c58..409161375 100644 --- a/ishtar_common/model_merging.py +++ b/ishtar_common/model_merging.py @@ -22,6 +22,9 @@ def get_models(): return models +EXCLUDED_FIELDS = ["imports"] + + @transaction.atomic def merge_model_objects( primary_object, alias_objects=None, keep_old=False, exclude_fields=None @@ -42,6 +45,8 @@ def merge_model_objects( if not exclude_fields: exclude_fields = [] + exclude_fields += EXCLUDED_FIELDS + MERGE_FIELDS = ("merge_candidate", "merge_exclusion") MERGE_STRING_FIELDS = [] @@ -141,6 +146,7 @@ def merge_model_objects( if ( alias_varname in related_many_object_names or alias_varname in MERGE_FIELDS + or alias_varname in exclude_fields ): continue |