У мене немає великого досвіду роботи з 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 або додаткового оператора join), мені потрібен такий фільтр більше одного разу.
Навіть якщо простого рішення немає, я радий отримати всі відповіді.