django - Django 迁移中的操作错误
问题描述
首先,我创建了一个名为 ' 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
我怎样才能解决这个问题?
解决方案
问题是您的工作流程,您应该删除该字段,进行迁移并将迁移应用到您的数据库。
但是由于您现在遇到了问题,您可以通过重新创建order_id
表中的列(使用工作台)来解决它,然后执行makemigrations
&migrate
然后 django 可以删除该列并且不应该显示错误。
推荐阅读
- javascript - Javascript 用另一种情况显示来自全局数组数据的特定数组数据
- yii2 - Yii2 合并和压缩资产
- javascript - 在 React 中使用导入的变量作为动态道具
- android - 失败:构建失败并出现异常。在颤动的火力基地中
- python - 如何解决意外的令牌解析器 16 Visual Studio 代码
- vector - (CAPL)我如何使用参数分配数组长度
- html-table - 具有固定标题和列的 Blazor 表组件
- xamarin - 在视图之间导航 Xamarin Forms
- css - online tool for css to scss convertor
- javascript - javascript .eval() 给了我未定义的