diff options
Diffstat (limited to 'ishtar_common/data_importer.py')
-rw-r--r-- | ishtar_common/data_importer.py | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py index 4519241af..3bcd62415 100644 --- a/ishtar_common/data_importer.py +++ b/ishtar_common/data_importer.py @@ -1632,7 +1632,10 @@ class Importer(object): for k in create_dict.keys(): # filter unnecessary default values but not the json field if type(create_dict[k]) == dict and k != 'data': - create_dict.pop(k) + if self.simulate: + create_dict[k] = _(u"* created *") + else: + create_dict.pop(k) # File doesn't like deepcopy elif type(create_dict[k]) == File: create_dict[k] = copy.copy(data[k]) @@ -1776,16 +1779,26 @@ class Importer(object): # force post save script v.save() if self.simulate: + # put m2m result in data dict + current_data = data + if m2ms: + for item in path: + if item not in current_data: + current_data[item] = {} + current_data = current_data[item] + for key, value in m2ms: + if not isinstance(value, list) and \ + not isinstance(value, tuple): + value = [value] + current_data[key] = value + if created: - for k in dct.keys(): - # do not present empty value - if dct[k] in (None, ''): - dct.pop(k) - return _(u"* created item *"), True + return dct, True else: # defaults are not presented as matching data dct.pop('defaults') return self.updated_objects[-1][1], False + if m2ms: # force post save script obj.save() |