diff options
Diffstat (limited to 'ishtar_common/utils_migrations.py')
| -rw-r--r-- | ishtar_common/utils_migrations.py | 22 | 
1 files changed, 22 insertions, 0 deletions
| diff --git a/ishtar_common/utils_migrations.py b/ishtar_common/utils_migrations.py index 48e9e4f9b..40cdcb5cd 100644 --- a/ishtar_common/utils_migrations.py +++ b/ishtar_common/utils_migrations.py @@ -75,3 +75,25 @@ def migrate_sources(apps, base_model, source_model, item_attr):              doc.authors.add(author)          item = base_model.objects.get(pk=getattr(source, item_attr).pk)          item.documents.add(doc) + + +def reinit_last_modified(apps, app_name, models): +    for model_name in models: +        model = apps.get_model(app_name, model_name) +        try: +            historical_model = apps.get_model( +                app_name, 'Historical' + model_name) +        except: +            continue +        for item in model.objects.all(): +            q = historical_model.objects.filter( +                id=item.pk).order_by('-history_date') +            if not q.count(): +                return +            edit_date = q.all()[0].history_date +            if not edit_date: +                return +            item.last_modified = edit_date +            item.skip_history_when_saving = True +            item.save() + | 
