1.我是参照网上的一个flask例子,http://www.pythondoc.com/flas...很苦逼,进行操作的。
2.当我在数据库原有的一张表里 添加额外的两个属性,执行migrate操作
3.之后 我去查询数据库时,涉及这两个变量总是报同样的错误,具体如下:
lower()函数 字符串应该都有这个属性的呢
我将原来的数据库进行删除,重建数据库 还是报同样的错误。有遇到过相同问题的同学,可以给点提示,谢谢!
问题一:我删除的时候,是否还有一些版本迁移的文件未删干净
问题二:是否是flask带有的缺陷,如何解决
天蓬老师2017-04-18 10:05:58
추가한 두 속성의 코드를 게시하세요
오류의 'String' object
은 문자열 유형이 아니며 sqlalchemy의 Field 클래스입니다 String
업데이트:
게시하신 코드에 따르면 about_me
및 last_seen
에서 db.column
의 철자가 틀린 것은 db.Column
PHP中文网2017-04-18 10:05:58
데이터베이스 마이그레이션 책에는 언급되지 않은 것이 하나 있습니다. 모든 마이그레이션에는 마이그레이션 스크립트를 다시 만든 다음 마이그레이션용 스크립트를 사용해야 합니다.
자세한 내용은 https://zhuanlan.zhihu.com/p/...
黄舟2017-04-18 10:05:58
질문 1: 말씀하신 대로 원본 데이터베이스 전체를 삭제하고 재구축을 해도 이런 문제가 계속 발생하는데, 이는 버전 마이그레이션 파일의 문제는 아니라는 뜻입니다.
질문 2: sqlalchemy
다른 플라스크 개발자가 제공한 확장일 뿐이므로 플라스크 자체와는 아무런 관련이 없습니다.
위에서 언급한 것처럼 String
은 python
자체의 데이터 타입이 아니고 sqlalchemy
에서 제공하는 것이므로 직접 정의한 Model
클래스에 오류가 있어야 합니다. 오류 부분에 대한 코드를 제공하는 것이 좋습니다. 그렇지 않으면 분석하기 어려울 것입니다.
PHPz2017-04-18 10:05:58
구체적인 코드는 위와 같습니다
내 쿼리 명령
user = models.User.query.get(1)
user.email 인쇄(일반) user.about_me(오류 보고서) user.last_seen(오류 보고서)