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
?