diff options
Diffstat (limited to 'ishtar_common')
| -rw-r--r-- | ishtar_common/utils_migrations.py | 15 | 
1 files changed, 11 insertions, 4 deletions
| diff --git a/ishtar_common/utils_migrations.py b/ishtar_common/utils_migrations.py index edbeb5567..431fe5bd7 100644 --- a/ishtar_common/utils_migrations.py +++ b/ishtar_common/utils_migrations.py @@ -2,9 +2,11 @@  from __future__ import unicode_literals  import datetime +import json +import os  from django.core.files import File -import os +from django.db import connection  def migrate_simple_image_to_m2m(base_model, image_model, rel_model, @@ -124,7 +126,6 @@ def m2m_historization_init(obj):                  continue              values.append(value.history_compress())          hist_values[attr] = values -    obj.history_m2m = hist_values      for hist in obj.history.all():          hist.history_m2m = hist_values          d = hist.history_date @@ -134,5 +135,11 @@ def m2m_historization_init(obj):          hist.history_date = date          hist.last_modified = date          hist.save() -    obj.skip_history_when_saving = True -    obj.save() +    with connection.cursor() as cursor: +        # not clean... but json fields seems to be not well managed by +        # cursor.execute +        cursor.execute( +            u"UPDATE \"" + obj.__class__._meta.db_table + u"\" SET " +            u"history_m2m = '" + json.dumps(hist_values).replace(u"'", u"''") + +            u"'::json WHERE id = %s", [obj.pk] +        ) | 
