Saya tidak punya banyak pengalaman dengan SQLAlchemy dan saya punya masalah, yang tidak bisa saya pecahkan. Saya mencoba mencari dan saya mencoba banyak kode. Ini adalah Kelas saya (dikurangi menjadi kode yang paling signifikan):
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)
dan saya ingin menanyakan semua pasien, yang fenoscore ibunya (misalnya) == 10
Seperti yang diceritakan, saya mencoba banyak kode, tetapi saya tidak mengerti. Solusi logisnya, di mata saya, adalah
patients = Patient.query.filter(Patient.mother.phenoscore == 10)
karena, Anda dapat mengakses .mother.phenoscore
setiap elemen saat mengeluarkan tetapi, kode ini tidak melakukannya.
Apakah ada kemungkinan (langsung) untuk memfilter berdasarkan atribut hubungan (tanpa menulis Pernyataan SQL, atau pernyataan gabungan tambahan), saya memerlukan filter semacam ini lebih dari satu kali.
Meskipun tidak ada solusi yang mudah, saya senang mendapatkan semua jawaban.