python - flask 数据库查询总是报错,非常奇怪的现象。
阿神
阿神 2017-04-18 10:03:58
0
5
735

1.我是参照网上的一个flask例子,http://www.pythondoc.com/flas...很苦逼,进行操作的。
2.当我在数据库原有的一张表里 添加额外的两个属性,执行migrate操作
3.之后 我去查询数据库时,涉及这两个变量总是报同样的错误,具体如下:


lower()函数 字符串应该都有这个属性的呢
我将原来的数据库进行删除,重建数据库 还是报同样的错误。有遇到过相同问题的同学,可以给点提示,谢谢!
问题一:我删除的时候,是否还有一些版本迁移的文件未删干净
问题二:是否是flask带有的缺陷,如何解决

阿神
阿神

闭关修行中......

全部回覆(5)
Peter_Zhu
  • 把你加的兩個屬性的程式碼貼出來

  • 錯誤中的 'String' object 不是字符串类型,是 sqlalchemy 里的 Field 类 String

更新:
根據你貼的程式碼,about_melast_seendb.column 拼错了应该是 db.Column

Ty80

資料庫遷移書上有一點沒提到,每一次遷移都需要先重新建立遷移的腳本,再使用腳本進行遷移。
詳見:https://zhuanlan.zhihu.com/p/...

黄舟

問題一:如你所說,你將原本的資料庫整個刪除後重建也會出現這類問題,說明不是版本遷移檔案的問題。
問題二:sqlalchemy只是其他的flask開發人員提供的拓展,所以跟flask本身沒關係。

如樓上所說,String不是python本身的資料類型,是String不是python本身的数据类型,是sqlalchemy提供的,所以应该是你自己定义的Model提供的,所以應該是你自己定義的Model類的錯誤。你最好提供一下出錯部分的程式碼,不然就不好分析。

PHPzhong

具體程式碼如上
我的查詢指令
user = models.User.query.get(1)

print user.email (正常) user.about_me(報錯) user.last_seen(錯誤)

PHPzhong

column 要大寫 Column 應該就不報錯了

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!