我对 SQLAlchemy 没有多少经验,我有一个问题,我无法解决。我试过搜索,也试过很多代码。 这是我的 Class (简化为最重要的代码) :
class Patient(Base):
__tablename__ = 'patients'
id = Column(Integer, primary_key=True, nullable=False)
mother_id = Column(Integer, ForeignKey('patients.id'), index=True)
mother = relationship('Patient', primaryjoin='Patient.id==Patient.mother_id', remote_side='Patient.id', uselist=False)
phenoscore = Column(Float)
我想询问所有的病人,其母亲的酚分是(例如) == 10
我说过,我试了很多代码,但我不明白。在我看来,逻辑上的解决办法是
patients = Patient.query.filter(Patient.mother.phenoscore == 10)
因为,您可以在输出时访问每个元素的 .mother.phenoscore
,但是,这段代码不这样做。
是否有可能(直接)通过关系的属性进行过滤(不需要编写 SQL 语句或额外的连接语句) ,我不止一次需要这种过滤器。
即使没有简单的解决办法,我也乐于得到所有的答案。