Python 质疑炼金术

Python 质疑炼金术,python,sql,sqlite,sqlalchemy,Python,Sql,Sqlite,Sqlalchemy,我有两个这样的型号: class m1(Model): id = Column("id", Integer, primary_key=True) a = Column("a", String) m2s = relationship("m2") class m2(Model): id = Column("id", Integer, primary_key=True) b = Column("b", String) c = Column("c", S

我有两个这样的型号:

class m1(Model):
    id = Column("id", Integer, primary_key=True)
    a = Column("a", String)
    m2s = relationship("m2")

class m2(Model):
    id = Column("id", Integer, primary_key=True)
    b = Column("b", String)
    c = Column("c", String)
    d = Column("d", String)
我想查询包含三个m2的所有m1:

m2_1: b = 1, c = 2, d = 3
m2_2: b = 3, c = 3, d = 3
m2_3: b = 1, c =4, d = 4
如果更多或更少的m2在m1中,我不想要这个m1

你能帮我弄清楚,如何构建这个查询吗?我还可以在查询后使用python进行排序。运行时根本不重要。
谢谢你的帮助

你在哪里被绊倒了?你知道如何用原始SQL写这个吗?:)是的,我想我是通过两个查询+分组+拥有+计数和相交来解决的