不能混合得到和过滤?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不能混合得到和过滤?相关的知识,希望对你有一定的参考价值。
当我试图获得下一个查询时:
answer = sess.query(User).filter(User.id==1).get(1)
我收到错误:sqlalchemy.exc.InvalidRequestError: Query.get() being called on a Query with existing criterion.
查询:
answer = sess.query(User).get(1)
工作良好。
为什么第一个不起作用?
我的班级定义:
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
adr = relationship('Address', backref='uuu')
答案
来自Query.get
的文档:
get()
仅用于返回单个映射实例,而不是多个实例或单个列构造,并且仅用于返回单个主键值。始发查询必须以这种方式构造,即针对单个映射实体,而不需要额外的过滤标准。但是,可以应用通过options()加载选项,并且如果对象尚未在本地存在,则将使用加载选项。
以上是关于不能混合得到和过滤?的主要内容,如果未能解决你的问题,请参考以下文章
错误记录Flutter 混合开发获取 BinaryMessenger 报错 ( FlutterActivityAndFragmentDelegate.getFlutterEngine() )(代码片段