summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_files/tests.py7
-rw-r--r--ishtar_common/utils.py11
2 files changed, 12 insertions, 6 deletions
diff --git a/archaeological_files/tests.py b/archaeological_files/tests.py
index 312204a14..ef6c5ad74 100644
--- a/archaeological_files/tests.py
+++ b/archaeological_files/tests.py
@@ -139,7 +139,12 @@ class FileTest(TestCase, FileInit):
for k in initial_values.keys():
if k == 'last_modified':
continue
- self.assertTrue(k in new_values)
+ elif k == 'history_m2m' and not initial_values[k]:
+ initial_values[k] = dict(
+ [(j, []) for j in models.File.HISTORICAL_M2M]
+ )
+ self.assertTrue(k in new_values,
+ msg=u'%s not in new values' % k)
self.assertEqual(
new_values[k], initial_values[k],
msg=u"for %s: %s != %s" % (k, unicode(new_values[k]),
diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py
index ba77a07e4..cbc7d069d 100644
--- a/ishtar_common/utils.py
+++ b/ishtar_common/utils.py
@@ -949,11 +949,12 @@ def m2m_historization_changed(sender, **kwargs):
q = obj.history.filter(
history_modifier_id=obj.history_modifier_id,
).order_by('-history_date', '-history_id')
- hist = q.all()[0]
- hist.history_m2m = hist_values
- hist.history_date = hist.last_modified = datetime.datetime.now()
- hist.save()
- obj.skip_history_when_saving = True
+ if q.count():
+ hist = q.all()[0]
+ hist.history_m2m = hist_values
+ hist.history_date = hist.last_modified = datetime.datetime.now()
+ hist.save()
+ obj.skip_history_when_saving = True
elif not obj.history_modifier:
obj.skip_history_when_saving = True
obj.save()