问题描述
我正在尝试创建一个从查询中填充的下拉框表单。
我已经将QuerySelectField
与query_factory
函数一起使用。效果很好
当我使用具有更复杂逻辑的BaseQuery时,会得到
sqlalchemy.orm.exc.UnmappedInstanceError:类'sqlalchemy.util._collections.result'未映射
我怀疑是因为我不了解db.session.query
和Model.query
之间的区别。
任何反馈都非常感谢。
def business_lookup_name_query():
q = db.session.query(
Business.id,concat(Business.name,Business.id).label("business_lookup"))
return q # fails with mapping error
def business_lookup_id_query():
return Business.query.order_by('id') # works perfectly
class GotoBusinessForm(FlaskForm):
business_id = QuerySelectField(
query_factory=business_lookup_id_query,allow_blank=False,get_label='id'
)
# fails with mapping error
business_lookup = QuerySelectField(
query_factory=business_lookup_name_query,)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)