django报错:no such table: main.auth_user__old

本文详细记录了一个在Django2.0.9与Python3.7环境下使用SQLite数据库遇到的OperationalError异常,指出该问题是由于SQLite版本不兼容导致。文中提供了解决方案,即降级Django版本至2.1.5,并给出了具体的步骤,包括更新Django版本、删除migrations文件夹和db.sqlite3文件,以及重新进行数据库迁移。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OperationalError at /admin/userinfo/userinfo/1/delete/
no such table: main.auth_user__old
Request Method:	POST
Request URL:	http://127.0.0.1:8000/admin/userinfo/userinfo/1/delete/
Django Version:	2.0.6
Exception Type:	OperationalError
Exception Value:	
no such table: main.auth_user__old
Exception Location:	C:\ProgramInstall\Anaconda3\envs\ZDjangoWeb\lib\site-packages\django\db\backends\sqlite3\base.py in execute, line 303
Python Executable:	C:\ProgramInstall\Anaconda3\envs\ZDjangoWeb\python.exe
Python Version:	3.7.3
Python Path:	
['C:\\01seafile\\工作资料库\\ZDjangoWeb',
 'C:\\ProgramInstall\\Anaconda3\\envs\\ZDjangoWeb\\python37.zip',
 'C:\\ProgramInstall\\Anaconda3\\envs\\ZDjangoWeb\\DLLs',
 'C:\\ProgramInstall\\Anaconda3\\envs\\ZDjangoWeb\\lib',
 'C:\\ProgramInstall\\Anaconda3\\envs\\ZDjangoWeb',
 'C:\\Users\\zhuyr\\AppData\\Roaming\\Python\\Python37\\site-packages',
 'C:\\ProgramInstall\\Anaconda3\\envs\\ZDjangoWeb\\lib\\site-packages']
Server time:	Fri, 16 Aug 2019 06:14:24 +0000

好坑的一个bug,跑测试的时候用的Django是2.0.9的版本,python3.7,结果怎么改都会出问题,在stackoverflow发现竟然是sqlite的版本问题,需要降级到2.6之前的版本,怎么降级sqlite没找到,还好Django在2.1.5修复了这个bug, https://code.djangoproject.com/ticket/29182。
所以就升级一下Django吧,2.1.5之后就没问题了

命令:pip install Django –upgrade

或直接指定版本:pip install Django==2.1.5

可以使用   python -m django –version       查看版本号

更新Django版本且备份好数据库里的数据后,删除app下的migrations文件夹,删除db.sqlite3,重新进行数据库迁移。

#先迁移默认的app

python manage.py migrate

#再迁移自己的app

python manage.py makemigrations polles

python manage.py migrate polles

数据库迁移以后,再创建超级用户,在后台的Django administration,执行添加修改操作。
 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值