Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django迁移中的操作错误_Django_Django Models_Django Migrations_Django Database - Fatal编程技术网

Django迁移中的操作错误

Django迁移中的操作错误,django,django-models,django-migrations,django-database,Django,Django Models,Django Migrations,Django Database,首先,我创建了一个名为“userorders”的模型,该模型包含以下字段:id(默认情况下)、user\u id和order\u id 然后在意识到我不需要订单id后,我首先从MySQL数据库中删除了它(使用Workbench), 然后我在Django中对模型进行了更改,但现在它一直显示错误 0013\u orderdetails\u userorders.py migrations.CreateModel( name='userorders',

首先,我创建了一个名为“
userorders
”的模型,该模型包含以下字段:
id
(默认情况下)、
user\u id
order\u id

然后在意识到我不需要订单id后,我首先从MySQL数据库中删除了它(使用Workbench), 然后我在Django中对模型进行了更改,但现在它一直显示错误

0013\u orderdetails\u userorders.py

migrations.CreateModel(
            name='userorders',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('user_id', models.IntegerField()),
                ('order_id', models.IntegerField()),
            ],
        ),
dependencies = [
        ('shoppingCart', '0013_orderdetails_userorders'),
    ]

    operations = [
        migrations.RemoveField(
            model_name='userorders',
            name='order_id',
        ),
    ]
dependencies = [
    ('shoppingCart', '0014_remove_userorders_order_id'),
]

operations = [
    migrations.AddField(
        model_name='userorders',
        name='order_id',
        field=models.IntegerField(default=None),
        preserve_default=False,
    ),
dependencies = [
        ('shoppingCart', '0015_userorders_order_id'),
    ]

    operations = [
        migrations.RemoveField(
            model_name='userorders',
            name='order_id',
        ),
    ]
dependencies = [
    ('shoppingCart', '0016_remove_userorders_order_id'),
]

operations = [
    migrations.RenameField(
        model_name='orderdetails',
        old_name='user_id',
        new_name='order_id',
    ),
]
0014\u删除用户订单\u订单id.py

migrations.CreateModel(
            name='userorders',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('user_id', models.IntegerField()),
                ('order_id', models.IntegerField()),
            ],
        ),
dependencies = [
        ('shoppingCart', '0013_orderdetails_userorders'),
    ]

    operations = [
        migrations.RemoveField(
            model_name='userorders',
            name='order_id',
        ),
    ]
dependencies = [
    ('shoppingCart', '0014_remove_userorders_order_id'),
]

operations = [
    migrations.AddField(
        model_name='userorders',
        name='order_id',
        field=models.IntegerField(default=None),
        preserve_default=False,
    ),
dependencies = [
        ('shoppingCart', '0015_userorders_order_id'),
    ]

    operations = [
        migrations.RemoveField(
            model_name='userorders',
            name='order_id',
        ),
    ]
dependencies = [
    ('shoppingCart', '0016_remove_userorders_order_id'),
]

operations = [
    migrations.RenameField(
        model_name='orderdetails',
        old_name='user_id',
        new_name='order_id',
    ),
]
0015\u用户订单\u订单id.py

migrations.CreateModel(
            name='userorders',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('user_id', models.IntegerField()),
                ('order_id', models.IntegerField()),
            ],
        ),
dependencies = [
        ('shoppingCart', '0013_orderdetails_userorders'),
    ]

    operations = [
        migrations.RemoveField(
            model_name='userorders',
            name='order_id',
        ),
    ]
dependencies = [
    ('shoppingCart', '0014_remove_userorders_order_id'),
]

operations = [
    migrations.AddField(
        model_name='userorders',
        name='order_id',
        field=models.IntegerField(default=None),
        preserve_default=False,
    ),
dependencies = [
        ('shoppingCart', '0015_userorders_order_id'),
    ]

    operations = [
        migrations.RemoveField(
            model_name='userorders',
            name='order_id',
        ),
    ]
dependencies = [
    ('shoppingCart', '0016_remove_userorders_order_id'),
]

operations = [
    migrations.RenameField(
        model_name='orderdetails',
        old_name='user_id',
        new_name='order_id',
    ),
]
0016\u删除用户订单\u订单id.py

migrations.CreateModel(
            name='userorders',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('user_id', models.IntegerField()),
                ('order_id', models.IntegerField()),
            ],
        ),
dependencies = [
        ('shoppingCart', '0013_orderdetails_userorders'),
    ]

    operations = [
        migrations.RemoveField(
            model_name='userorders',
            name='order_id',
        ),
    ]
dependencies = [
    ('shoppingCart', '0014_remove_userorders_order_id'),
]

operations = [
    migrations.AddField(
        model_name='userorders',
        name='order_id',
        field=models.IntegerField(default=None),
        preserve_default=False,
    ),
dependencies = [
        ('shoppingCart', '0015_userorders_order_id'),
    ]

    operations = [
        migrations.RemoveField(
            model_name='userorders',
            name='order_id',
        ),
    ]
dependencies = [
    ('shoppingCart', '0016_remove_userorders_order_id'),
]

operations = [
    migrations.RenameField(
        model_name='orderdetails',
        old_name='user_id',
        new_name='order_id',
    ),
]
0017_auto_20200508_1639.py

migrations.CreateModel(
            name='userorders',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('user_id', models.IntegerField()),
                ('order_id', models.IntegerField()),
            ],
        ),
dependencies = [
        ('shoppingCart', '0013_orderdetails_userorders'),
    ]

    operations = [
        migrations.RemoveField(
            model_name='userorders',
            name='order_id',
        ),
    ]
dependencies = [
    ('shoppingCart', '0014_remove_userorders_order_id'),
]

operations = [
    migrations.AddField(
        model_name='userorders',
        name='order_id',
        field=models.IntegerField(default=None),
        preserve_default=False,
    ),
dependencies = [
        ('shoppingCart', '0015_userorders_order_id'),
    ]

    operations = [
        migrations.RemoveField(
            model_name='userorders',
            name='order_id',
        ),
    ]
dependencies = [
    ('shoppingCart', '0016_remove_userorders_order_id'),
]

operations = [
    migrations.RenameField(
        model_name='orderdetails',
        old_name='user_id',
        new_name='order_id',
    ),
]
错误-当我尝试为我所做的任何更改进行迁移时(更改不会反映在数据库中)

目前,
userorders
包含两个字段-
id
user\u id


如何解决此问题?

问题在于您的工作流您应该删除该字段,进行迁移并将迁移应用到数据库


但是,既然您现在遇到了这个问题,您可能可以通过在表中重新创建列
order\u id
(使用workbench),然后执行
makemigrations
&
migrate
来解决它,然后django可以删除该列,并且不应该显示错误。

,现在它显示了一个新错误
django.db.utils.OperationalError:(1054,“shoppingcart\u orderdetails”中的未知列“user\u id”)
,但该表中不存在此类字段。我尝试在DB中创建一个,这会导致
列名称重复
。您可以提供帮助吗?您是手动创建迁移还是使用
makemigrations
命令创建迁移?看起来django试图应用迁移,但您的数据库没有“同步”/看起来与django预期的不同…好的,我只是想澄清一下,您被困在
0017\u auto\u 20200508\u 1639.py
正确吗?在表
shoppingcart\u orderdetails
中有一列
user\u id