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

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


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

阿神
阿神

闭关修行中......

全員に返信(5)
Peter_Zhu
  • 追加した 2 つの属性のコードを投稿します

  • エラー内の 'String' object は文字列型ではなく、sqlalchemy の Field クラスです String

更新:
投稿したコードによると、about_melast_seendb.column のスペルミスは db.Column

である必要があります。
いいねを押す +0
Ty80

データベース移行の本には記載されていないことの 1 つは、すべての移行で移行スクリプトを再作成し、そのスクリプトを移行に使用する必要があるということです。
詳細については、https://zhuanlan.zhihu.com/p/...

をご覧ください。
いいねを押す +0
黄舟

質問 1: おっしゃるとおり、元のデータベースをすべて削除して再構築した場合でも、この種の問題は発生します。つまり、バージョン移行ファイルの問題ではありません。
質問 2: sqlalchemy これは他の flask 開発者によって提供された単なる拡張機能であるため、flask 自体とは何の関係もありません。

上で述べたように、Stringpython 自体のデータ型ではなく、sqlalchemy によって提供されるデータ型であるため、自分で定義した Model クラスのエラーになります。エラー部分のコードを提供することをお勧めします。そうしないと、分析が困難になります。

いいねを押す +0
PHPzhong

具体的なコードは上記の通りです
私のクエリコマンド
user = models.User.query.get(1)

print user.email (通常) user.about_me (エラーレポート) user.last_seen (エラーレポート)

いいねを押す +0
PHPzhong

列を大文字にしたい場合、エラーは発生しないはずです

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!