不能混合得到和过滤?

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() )(代码片段

渲染管道像素阶段“Alpha混合”

渲染管道像素阶段“Alpha混合”

VS2015 代码片段整理

高级openg 混合,一个完整程序

Javascript函数调试 - 为什么这个过滤器功能不能正常工作?