Миграции Django: Как разрешить ошибку преобразования поля charfield в поле datetimefield

Вот что я делаю: я клонирую мою базу данных prod в песочницу. И я получаю ошибку при миграции, потому что ранее я сделал поле charfield в поле datetime. А затем поле datetime в Charfield после нескольких миграций.

Как мне решить следующую ошибку:

Ошибка :

А вот файл миграции 0002_alter_userorder_order_booking_time:

from django.db import migrations, models
import django.utils.timezone


class Migration(migrations.Migration):

    dependencies = [
        ('pro_auth', '0001_initial'),
    ]

    operations = [
        migrations.AlterField(
            model_name='userorder',
            name='order_booking_time',
            field=models.DateTimeField(default=django.utils.timezone.now),
        ),
    ]

Я думаю, вам нужна фиктивная миграция.

Попробуйте это

./manange.py migrate --fake <app_name_of_userorder_is_inclueded> <last_migration_number_which_synced_current_order_booking_time>

Это позволяет пропустить применение alter table.

Вы не передаете правильный DateTimeFormat. Я думаю, вам следует написать

field=models.DateTimeField(default=django.utils.timezone.now()),

основываясь на том, что показано здесь: Django default=timezone.now() сохраняет записи, используя "старое" время

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