diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-02-27 20:44:52 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-06-17 13:21:27 +0200 |
commit | 86c03a98d11e93880b4568776e0939113a92a707 (patch) | |
tree | e07ad2e91e2544f7b2d61e8f3f653fdda26bfd52 /ishtar_common/model_merging.py | |
parent | 52f442699a72ff5d0341a7d15d5b966a3cc2bd60 (diff) | |
download | Ishtar-86c03a98d11e93880b4568776e0939113a92a707.tar.bz2 Ishtar-86c03a98d11e93880b4568776e0939113a92a707.zip |
Migrate to python 3 - Clean old migrations and some old scripts
Diffstat (limited to 'ishtar_common/model_merging.py')
-rw-r--r-- | ishtar_common/model_merging.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/ishtar_common/model_merging.py b/ishtar_common/model_merging.py index 188ec42dd..06f65378d 100644 --- a/ishtar_common/model_merging.py +++ b/ishtar_common/model_merging.py @@ -20,7 +20,7 @@ def get_models(): @transaction.atomic -def merge_model_objects(primary_object, alias_objects, keep_old=False): +def merge_model_objects(primary_object, alias_objects=None, keep_old=False): """ Use this function to merge model objects (i.e. Users, Organizations, etc.) and migrate all of the related fields from the alias objects to the @@ -32,6 +32,9 @@ def merge_model_objects(primary_object, alias_objects, keep_old=False): duplicate_user = User.objects.get(email='good_email+duplicate@example.com') merge_model_objects(primary_user, duplicate_user) """ + if not alias_objects: + alias_objects = [] + MERGE_FIELDS = ('merge_candidate', 'merge_exclusion') if not isinstance(alias_objects, list): @@ -55,14 +58,14 @@ def merge_model_objects(primary_object, alias_objects, keep_old=False): generic_fields = [] for model in get_models(): for field_name, field in filter(lambda x: isinstance( - x[1], GenericForeignKey), model.__dict__.iteritems()): + x[1], GenericForeignKey), model.__dict__.items()): generic_fields.append(field) blank_local_fields = set() for field in primary_object._meta.local_fields: value = getattr(primary_object, field.attname) # string fields with only spaces are empty fields - if isinstance(value, unicode) or isinstance(value, str): + if isinstance(value, str): value = value.strip() if value in [None, '']: blank_local_fields.add(field.attname) |