如何解决错误InvalidRequestError:期望使用hybrid_property的SQL表达式,列或映射的实体
我有以下模型类:
class ArticleOptionSetModel(db.Model):
__tablename__ = 'sdt_articles_options_sets'
id = db.Column(db.Integer,db.Sequence("sdq_articles_options_sets"),primary_key=True)
article_id = db.Column(db.Integer,db.ForeignKey('sdt_articles.id'),nullable=False)
option_set_id = db.Column(db.Integer,db.ForeignKey('sdt_options_sets.id'),nullable=False)
order_num = db.Column(db.Integer,nullable=False)
def have_options(self,article_id) -> int:
result = db.session.query(func.count(ArticleOptionSetModel.id))\
.join(OptionSetModel,ArticleOptionSetModel.option_set_id == OptionSetModel.id)\
.filter(ArticleOptionSetModel.article_id == self.article_id)\
.filter(OptionSetModel.option_type == OT_OPTION).one()
if result[0] > 0:
return 1
else:
return 0
如果我尝试在联接中使用此模型,并提取字段:
result = db.session.query(ArticleModel.id,ArticleOptionSetModel.have_options)\
.join(ArticleOptionSetModel,ArticleModel.id == ArticleOptionSetModel.article_id)
return result.all()
我收到此错误:
sqlalchemy.exc.InvalidRequestError:预期的SQL表达式,列或映射的实体-为'1'
其中1是我的方法返回的值。
从方法返回的0或1应该被视为调用者查询中的列结果。 怎么可能呢?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。