Применяется ли миграция данных django сразу?

Я прочитал следующий текст в документации: """ Django по умолчанию работает в режиме автокоммита. Каждый запрос немедленно фиксируется в базе данных, если только не активна транзакция. Подробности смотрите ниже. """

и я выполняю следующую миграцию данных:

def fill_query(apps, schema_editor):
    Result = apps.get_model('monitoring', 'Result')
    for r in Result.objects.all():
         r.query = r.monitored_search.query
         r.user_id = r.monitored_search.user_id
         r.save()

class Migration(migrations.Migration):

    dependencies = [
        ('monitoring', '0006_searchresult_user_id'),
    ]

    operations = [
        migrations.RunPython(fill_query),
    ]

Но когда я пытаюсь найти объекты из Result, я обнаружил, что все они по-прежнему имеют query и user_id как null. И моя миграция данных продолжает работать (более 2 миллионов регистров в базе данных)

возможно, изменения будут применены, когда миграция данных перестанет работать или моя миграция данных не работает?

Вернуться на верх