首页 > 解决方案 > SQLAlchemy 无法适应 TextField 的类型

问题描述

对于 Flask 应用程序,在我的模型中,我有以下字段:

additional_notes = db.Column(db.Text)

在我的表格中,我有以下内容:

additional_notes = TextField(u'Additional Notes')

当我尝试保存表单时,它会引发以下错误:

sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) 无法适应类型'TextAreaField' [SQL: 'UPDATE part SET make=%(make)s, Identification_notes=%(identification_notes)s, additional_notes=%(additional_notes)s WHERE part.id = %(part_id)s'] [parameters: {'make': 'xToyotaasdf', 'identification_notes': , 'additional_notes': , 'part_id': 5}] (此错误的背景:http:// /sqlalche.me/e/f405 )

我需要在模型级别或表单级别进行某种设置以将表单字段连接到此模型字段吗?我究竟做错了什么?

标签: pythonsqlalchemywtforms

解决方案


确保您从表单中获取数据,而不是表单对象本身。所以在你的路线中,你应该有类似的东西:

if form.validate_on_submit():
   model = Model(additional_notes=form.additional_notes.data)
   db.session.add(model)

推荐阅读