解决方法请直接看结尾!!!
我本来是觉得这个问题这么难解决,应该写个blog一遍解决一边记录下各种尝试过程,结果emmm。
我今天打算给一个点位(Point模型)添加照片(Photo模型,外键Point模型)的时候,输完p.photo_set.all()本来期待输出<QuerySet []>(毕竟照片还没有添加)遇到了一个特别奇怪的报错。
>>> from routes.models import Route, Point, Photo
>>> p = Point.objects.get(id=3)
<Point: No.3 point 3>
>>> p.photo_set.all()
django.db.utils.InternalError: (1054, "Unknown column 'routes_photo.photo_file' in 'field list'")
routes_photo是应用名_模型名,这个报错的意思是photo_file字段在数据库中不存在。
但是,问题是,这个photo_file在我的代码里也不存在啊!!!不信你看嘛!!!
pycharm中ctrl+shift+F全局搜索photo_有很多搜索结果(在模型Photo下定义了不少字段),但是没有定义photo_file。
不过这个photo_file的确曾经存在的,我把photo_file改名为photo_url了。但问题是我已经更新迁移了啊,而且全局搜索也没有不是吗!也许迁移有什么问题,简单粗暴地删库删migration文件然后重新:
-
python manage.py makemigrations routes
-
python manage.py migrate
但是并没有什么用。搜了半天中文博客,里面都是和我完全不相关的问题,什么最前面有个空格啊,什么忘记migrate或者忘记makemigrations了,好不容易在博客园里面看到一个和我问题一样的,大家说了以上方法楼主表示都已经做过了以后,帖子就坑了。倒是看到几个比较靠谱的
中文博客
(点击链接)
,但是和我的方法是一样的,删光重建嘛。
不喜欢上Stack overflow的原因是,我遇到的问题一般都特别低级,我也不知道怎么描述,然后stac面的错误也高级,解决方法也高级,总是云里雾里然后在某个同为小白的csdn里面找到了答案。Stack里面搜了半天,搜到一个和我
有类似问题的人
(点击链接)
。看红色框内,也是改了字段名然后报错说找不到原来的字段名(which 我俩也都没想用它啊)。
不过这位小哥不是和我一样修改模型然后生成迁移的,而是直接写了迁移文件。
解答区果然也抓住这点了,开始
“delete-makemigrations-migrate三连”
。
我都做了这些啊可是没有用啊.jpg
小哥的解决方法是recreate app,不过这也太麻烦了吧。不对!等等!我看到了什么?recreate?re!?
······ ???!!!
天啦噜,我怎么忘记了重启大法!!!
然后我满怀期待地关掉了pycharm,重新打开了项目。
emmm,是在下输了(哭)。
话说搜索资料的时候,很不爽的事情是,大家总是说works fine,works fine。然而我一点都不fine。
解决方法请直接看结尾!!!我本来是觉得这个问题这么难解决,应该写个blog一遍解决一边记录下各种尝试过程,结果emmm。我今天打算给一个点位(Point模型)添加照片(Photo模型,外键Point模型)的时候,输完p.photo_set.all()本来期待输出&lt;QuerySet []&gt;(毕竟照片还没有添加)遇到了一个特别奇怪的报错。&gt;&gt;&gt; from r...
import pymysql
conn1 = pymysql.connect(host="127.0.0.1",user="root",password="1234",
db
="mypy
db
")
x = 'firsttitle'
y = 'firstkeyword'
sql = "INSERT INTO mytb(title,keywd) VALUES(%s,%s)"%(x,y)
conn1...
Django
报错:(
1054
, “
Unknown
column
‘data.id’ in ‘field list’”)
最近用
Django
连接MySQL数据库显示数据库数据时,遇到一个报错:(
1054
, “
Unknown
column
‘data.id’ in ‘field list’”)。意思大概是遇到了未知的字段id。
可是看了看自己写的table, 其
中
有四个字段,分别是folder name, file name, path和file size。 压根没有id这个字段。同时检查了
代码
,也没有发现自己
pymysql模块:执行数据操作,pymysql.err.
Internal
Error
: (
1054
, “
Unknown
column
‘’ in ‘field list’”)
sql语句出错
sql = “INSERT INTO table1(word) VALUES (%s)” % (str)
“INSERT INTO table1(word) VALUES (’%s’)” % (str)
只要是values里面的值,都需要加“”
文章目录1、数据库
不存在
username字段2、username拼写错误,尤其注意前后多出的空格2、检查SQL语句语法3、表名是否对应
1、数据库
不存在
username字段
2、username拼写错误,尤其注意前后多出的空格
2、检查SQL语句语法
3、表名是否对应
pymysql.err.
Internal
Error
: (
1054
, "
Unknown
column
'N190731130957864287' in 'where clause'") 一般是格式化字符串的时候没加引号。
错误示例:
正确示例:在 %s处加双引号即可
pymysql.err.
Internal
Error
: (
1054
, "
Unknown
column
'N19073...
django
.
db
.
utils
.Operational
Error
: (
1054
, "
Unknown
column
'parent_id_id' in 'mainproject_authoritymenu'")
类似的错误解决经验有两个:
1、清空migrations下除了__init__.py之外的所有文件,重新makemigrations、migrate
2、第二个就是看一下数据库表里面的...
django
.
db
.
utils
.Operational
Error
是
Django
中
的一个异常类,表示在执行数据库操作时出现了操作错误。通常这个错误会在以下情况下出现:
1. 数据库连接问题,如数据库未启动、连接超时等;
2. 数据库表结构问题,如表
不存在
、字段
不存在
等;
3. 数据库权限问题,如没有足够的权限执行某个操作。
如果出现这个错误,可以先检查数据库连接是否正常,确保数据库服务已经启动,并且数据库账户具有足够的权限执行操作。如果仍然无法解决,可以查看错误信息,通过错误信息
中
的提示信息来进一步定位问题所在。