diff options
Diffstat (limited to 'ishtar_common/utils_migrations.py')
| -rw-r--r-- | ishtar_common/utils_migrations.py | 19 | 
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): | 
