【发布时间】:2020-08-24 12:13:24
【问题描述】:
首先,我创建了一个名为“userorders”的模型,其中包含以下字段:id(默认)、user_id 和 order_id。
然后在意识到我不需要order_id 之后,我首先将其从 MySQL DB 中删除(使用 Workbench),
然后我在 Django 中对模型进行了更改,但它现在一直显示错误。
0013_orderdetails_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()),
],
),
0014_remove_userorders_order_id.py
dependencies = [
('shoppingCart', '0013_orderdetails_userorders'),
]
operations = [
migrations.RemoveField(
model_name='userorders',
name='order_id',
),
]
0015_userorders_order_id.py
dependencies = [
('shoppingCart', '0014_remove_userorders_order_id'),
]
operations = [
migrations.AddField(
model_name='userorders',
name='order_id',
field=models.IntegerField(default=None),
preserve_default=False,
),
0016_remove_userorders_order_id.py
dependencies = [
('shoppingCart', '0015_userorders_order_id'),
]
operations = [
migrations.RemoveField(
model_name='userorders',
name='order_id',
),
]
0017_auto_20200508_1639.py
dependencies = [
('shoppingCart', '0016_remove_userorders_order_id'),
]
operations = [
migrations.RenameField(
model_name='orderdetails',
old_name='user_id',
new_name='order_id',
),
]
错误 - 当我尝试为我所做的任何更改进行迁移时(更改不会反映在数据库中)
MySQLdb._exceptions.OperationalError: (1091, "Can't DROP 'order_id'; check that column/key exists")
The above exception was the direct cause of the following exception:
django.db.utils.OperationalError: (1091, "Can't DROP 'order_id'; check that column/key exists")
目前,userorders 包含 2 个字段 - id 和 user_id
我该如何解决这个问题?
【问题讨论】:
标签: django django-models django-migrations django-database