Rumah  >  Soal Jawab  >  teks badan

python - flask 数据库查询总是报错,非常奇怪的现象。

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


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

阿神阿神2764 hari yang lalu742

membalas semua(5)saya akan balas

  • 天蓬老师

    天蓬老师2017-04-18 10:05:58

    • Siarkan kod dua atribut yang anda tambahkan

    • 'String' object dalam ralat bukan jenis rentetan, ia ialah kelas Medan dalam sqlalchemy String

    Kemas kini:
    Mengikut kod yang anda siarkan, salah ejaan about_me dalam last_seen dan db.column hendaklah db.Column

    balas
    0
  • PHP中文网

    PHP中文网2017-04-18 10:05:58

    Terdapat satu perkara yang tidak dinyatakan dalam buku migrasi pangkalan data Setiap migrasi memerlukan mencipta semula skrip migrasi dan kemudian menggunakan skrip untuk migrasi.
    Untuk butiran, sila lihat: https://zhuanlan.zhihu.com/p/...

    balas
    0
  • 黄舟

    黄舟2017-04-18 10:05:58

    Soalan 1: Seperti yang anda katakan, masalah seperti ini masih akan berlaku jika anda memadamkan keseluruhan pangkalan data asal dan membinanya semula, yang bermaksud ia bukan masalah dengan fail pemindahan versi.
    Soalan 2: sqlalchemy Ia hanyalah sambungan yang disediakan oleh pembangun kelalang lain, jadi ia tiada kaitan dengan kelalang itu sendiri.

    Seperti yang dinyatakan di atas, String bukanlah jenis data python itu sendiri, tetapi disediakan oleh sqlalchemy, jadi ia sepatutnya ralat dalam kelas Model yang anda tentukan sendiri. Anda lebih baik memberikan kod untuk bahagian ralat, jika tidak, ia akan menjadi sukar untuk dianalisis.

    balas
    0
  • PHPz

    PHPz2017-04-18 10:05:58

    Kod khusus adalah seperti di atas
    Arahan pertanyaan saya
    pengguna = models.User.query.get(1)

    cetak pengguna.e-mel (biasa) pengguna.tentang_saya (laporan ralat) pengguna.terakhir_lihat (laporan ralat)

    balas
    0
  • PHPz

    PHPz2017-04-18 10:05:58

    Jika anda ingin menggunakan huruf besar pada Lajur, anda tidak sepatutnya mendapat ralat

    balas
    0
  • Batalbalas