У меня нет большого опыта работы с SQLAlchemy, и у меня есть проблема, которую я не могу решить. Я пробовал искать и пробовал много кода. Это мой класс (сокращенный до наиболее значимого кода):
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 или дополнительного оператора соединения), мне нужен этот вид фильтра более одного раза.
Даже если нет простого решения, я рад получить все ответы.