Python 如何在Sqlalchemy中加载继承时只过滤一个子类,并在union上应用order_

Python 如何在Sqlalchemy中加载继承时只过滤一个子类,并在union上应用order_,python,flask,sqlalchemy,Python,Flask,Sqlalchemy,查看Sqlalchemy文档中引用的示例: engineer\u employee=具有多态性( 员工,[工程师],别名=真) 经理\员工=具有\多态性( 员工,[经理],别名=True) q=s.query(工程师、员工、经理、员工)\ 加入( 经理兼雇员, 及_( 工程师\员工id>经理\员工id, 工程师_employee.name==经理_employee.name ) ) q、 全部() 我想知道是否有一种方法,例如,只过滤Engineer表,保持Manager数据的原样。我遇到过这

查看Sqlalchemy文档中引用的示例:

engineer\u employee=具有多态性(
员工,[工程师],别名=真)
经理\员工=具有\多态性(
员工,[经理],别名=True)
q=s.query(工程师、员工、经理、员工)\
加入(
经理兼雇员,
及_(
工程师\员工id>经理\员工id,
工程师_employee.name==经理_employee.name
)
)
q、 全部()

我想知道是否有一种方法,例如,只过滤
Engineer
表,保持
Manager
数据的原样。

我遇到过这样的问题,我得到的最佳解决方案是使用查询的
union
,而不是
带多态性的

q=Manager.query.union(Engineer.query.filter())#将您的条件放入过滤器中。
q、 全部()
如果您想在
union
上使用
order\u by
,只需为其提供必要的列:

q=Manager.query.union(Engineer.query.filter()).order\u by(Manager.registered\u on,Engineer.registered\u on)
q、 全部()

我遇到了这样一个问题,我得到的最佳解决方案是使用查询的
联合,而不是使用多态的

q=Manager.query.union(Engineer.query.filter())#将您的条件放入过滤器中。
q、 全部()
如果您想在
union
上使用
order\u by
,只需为其提供必要的列:

q=Manager.query.union(Engineer.query.filter()).order\u by(Manager.registered\u on,Engineer.registered\u on)
q、 全部()

但是order\u by不适用于union,你有什么建议吗?但是order\u by不适用于union,你有什么建议吗?