diff --git a/taiga/projects/history/migrations/0007_set_bloked_note_and_is_blocked_in_snapshots.py b/taiga/projects/history/migrations/0007_set_bloked_note_and_is_blocked_in_snapshots.py index 8f8f3ed6..dafe32ed 100644 --- a/taiga/projects/history/migrations/0007_set_bloked_note_and_is_blocked_in_snapshots.py +++ b/taiga/projects/history/migrations/0007_set_bloked_note_and_is_blocked_in_snapshots.py @@ -8,40 +8,8 @@ from taiga.projects.history.services import (make_key_from_model_object, get_pk_from_key) -def update_many(objects, fields=[], using="default"): - """Update list of Django objects in one SQL query, optionally only - overwrite the given fields (as names, e.g. fields=["foo"]). - Objects must be of the same Django model. Note that save is not - called and signals on the model are not raised.""" - if not objects: - return - - import django.db.models - from django.db import connections - con = connections[using] - - names = fields - meta = objects[0]._meta - fields = [f for f in meta.fields if not isinstance(f, django.db.models.AutoField) and (not names or f.name in names)] - - if not fields: - raise ValueError("No fields to update, field names are %s." % names) - - fields_with_pk = fields + [meta.pk] - parameters = [] - for o in objects: - parameters.append(tuple(f.get_db_prep_save(f.pre_save(o, True), connection=con) for f in fields_with_pk)) - - table = meta.db_table - assignments = ",".join(("%s=%%s"% con.ops.quote_name(f.column)) for f in fields) - con.cursor().executemany( - "update %s set %s where %s=%%s" % (table, assignments, con.ops.quote_name(meta.pk.column)), - parameters) - - def set_current_values_of_blocked_note_and_is_blocked_to_the_last_snapshot(apps, schema_editor): HistoryEntry = apps.get_model("history", "HistoryEntry") - updatingEntries = [] for history_entry in HistoryEntry.objects.filter(is_snapshot=True).order_by("created_at"): model = get_model_from_key(history_entry.key) @@ -59,12 +27,11 @@ def set_current_values_of_blocked_note_and_is_blocked_to_the_last_snapshot(apps, save = True if save: - updatingEntries.append(history_entry) + history_entry.save() except ObjectDoesNotExist as e: print("Ignoring {}".format(history_entry.pk)) - update_many(updatingEntries) class Migration(migrations.Migration):