在SQLAlchemy中按关系计数过滤

wxs*_*wxs 10 python sql database pylons sqlalchemy

我在Pylons项目中使用SQLAlchemy Python ORM.我有一个"Project"类,它与另一个类"Entry"有一对多的关系.我想在SQLAlchemy中进行查询,该查询为我提供了与其关联的一个或多个条目的所有项目.目前我正在做:

[project for project in Session.query(Project) if len(project.entries)>0]
Run Code Online (Sandbox Code Playgroud)

我知道这不是理想的,但我无法弄清楚如何做一个我需要的过滤器(例如Session.query(Project).filter(Project.entries.exists())).

有任何想法吗?

air*_*tyh 15

Session.query(Project).filter(Project.entries.any()) 应该管用.

编辑詹姆斯布拉迪的评论,一定要给他一些爱.

  • 如,Session.query(Project).filter(Project.entries.any()) (7认同)
  • 您如何获得包含 1 个以上条目的项目? (3认同)