【问题标题】:SQLAlchemy can't adapt type for TextFieldSQLAlchemy 无法适应 TextField 的类型
【发布时间】:2019-02-28 20:12:27
【问题描述】:

对于 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)

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

【问题讨论】:

  • 在持久化到 db 之前,您是否尝试过将 additional_notes 解析为 str

标签: python sqlalchemy wtforms


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2017-10-28
    • 1970-01-01
    • 2019-11-10
    • 2020-09-15
    • 2018-11-10
    • 1970-01-01
    • 2021-08-08
    • 2021-07-03
    相关资源
    最近更新 更多