数据库模型与创建的库定义不符,owner字段缺失求助
数据库表Notes模型owner字段缺失的原因及解决办法
你的代码中owner字段的定义存在拼写错误:使用了小写的db.column,而ORM框架要求字段定义必须使用大写开头的db.Column(注意字母C为大写)。框架只会识别Column类来生成对应的数据库字段,小写的column并非框架提供的字段定义方法,因此这个字段不会被映射到数据库中,导致创建表时owner字段缺失。
修正后的代码如下:
class Notes(db.Model): id = db.Column(db.Integer, primary_key = True) title = db.Column(db.String(1000)) description = db.Column(db.String(2000)) owner = db.Column(db.String(1000)) # 修正为大写的Column shared_with = db.Column(db.String(2000)) updated_by = db.Column(db.String(1000)) date = db.Column(db.DateTime(timezone = True), default = func.now())
修正后,需重新执行数据库迁移操作(若使用Flask-Migrate等迁移工具,依次运行flask db migrate和flask db upgrade),或者直接重新创建数据库表,即可让owner字段正常出现在数据库中。
内容的提问来源于stack exchange,提问作者light
相关产品推荐
相关产品推荐

