pymysql.err.InternalError: (1054, "Unknown column 'mylab_product.packages' in 'field list'")解决方案

原因是数据库中没有这一行数据,django在执行makemigrations时出现问题,我的解决方法是:

先找到该app下面的文件夹migrations下的0001_initial.py文件,

migrations.CreateModel(
name='Product',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(blank=True, max_length=32, null=True, verbose_name='产品名称')),
('name_en', models.CharField(blank=True, max_length=32, null=True, verbose_name='英文名称')),
('specification', models.CharField(blank=True, default='N/A', max_length=32, null=True, verbose_name='产品标准')),
('packages', models.CharField(blank=True, max_length=64, null=True, verbose_name='测试套餐')),
('version', models.CharField(blank=True, default='N/A', max_length=16, verbose_name='版本号')),
('spec_name', models.CharField(blank=True, default='N/A', max_length=64, verbose_name='标准名称')),
('spec_name_en', models.CharField(blank=True, default='N/A', max_length=64, verbose_name='标准名称(英文)')),
]

将其中
 ('packages', models.CharField(blank=True, max_length=64, null=True, verbose_name='测试套餐')),
这一行注释掉:
# ('packages', models.CharField(blank=True, max_length=64, null=True, verbose_name='测试套餐')),
重新执行:

>python manage.py makemigrations

Migrations for 'mylab':
mylab\migrations\0002_product_packages.py
- Add field packages to product

 >python manage.py migrate

Operations to perform:
Apply all migrations: admin, auth, contenttypes, lab_admin, mylab, sessions
Running migrations:
Applying mylab.0002_product_packages... OK

 >python manage.py runserver

System check identified no issues (0 silenced).
January 11, 2020 - 20:02:59
Django version 1.11.26, using settings 'mywork.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

这样就一切正常啦,希望对大家有用

 

 



posted @ 2020-01-11 20:17  Aaron_Liu  阅读(161)  评论(0)    收藏  举报