From 0f3229a119e53054d98c5e878a9581403628cd08 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Wed, 27 Feb 2019 20:44:52 +0100 Subject: Migrate to python 3 - Clean old migrations and some old scripts --- ishtar_common/model_merging.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'ishtar_common/model_merging.py') 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) -- cgit v1.2.3