summaryrefslogtreecommitdiff
path: root/ishtar_common/utils_migrations.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/utils_migrations.py')
-rw-r--r--ishtar_common/utils_migrations.py19
1 files changed, 15 insertions, 4 deletions
diff --git a/ishtar_common/utils_migrations.py b/ishtar_common/utils_migrations.py
index 431fe5bd7..f51465262 100644
--- a/ishtar_common/utils_migrations.py
+++ b/ishtar_common/utils_migrations.py
@@ -4,6 +4,7 @@ from __future__ import unicode_literals
import datetime
import json
import os
+import sys
from django.core.files import File
from django.db import connection
@@ -102,11 +103,18 @@ def reinit_last_modified(apps, app_name, models):
item.save()
-def migrate_main_image(apps, app_name, model_name):
+def migrate_main_image(apps, app_name, model_name, verbose=False):
model = apps.get_model(app_name, model_name)
- for item in model.objects.filter(
- documents__image__isnull=False).exclude(
- main_image__isnull=False).all():
+ q = model.objects.filter(documents__image__isnull=False).exclude(
+ main_image__isnull=False)
+ ln = q.count()
+ if verbose:
+ sys.stdout.write("\n")
+ for idx, item in enumerate(q.all()):
+ if verbose:
+ sys.stdout.write(" * {}.{}: {}/{}\r".format(app_name, model_name,
+ idx + 1, ln))
+ sys.stdout.flush()
q = item.documents.filter(
image__isnull=False).exclude(image='')
if not q.count():
@@ -114,7 +122,10 @@ def migrate_main_image(apps, app_name, model_name):
# by default get the lowest pk
item.main_image = q.order_by('pk').all()[0]
item.skip_history_when_saving = True
+ item._no_move = True
item.save()
+ if verbose:
+ sys.stdout.write("\n")
def m2m_historization_init(obj):