Non ho molta esperienza con SQLAlchemy e ho un problema che non riesco a risolvere. Ho provato a cercare e ho provato molto codice. Questa è la mia classe (ridotta al codice più significativo):
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)
e vorrei interrogare tutti i pazienti, la cui madre è fenoscore (per esempio) == 10
Come detto, ho provato molto codice, ma non l'ho capito. La soluzione logica, ai miei occhi, sarebbe
patients = Patient.query.filter(Patient.mother.phenoscore == 10)
perché puoi accedere .mother.phenoscore
per ogni elemento durante l'output ma questo codice non lo fa.
Esiste una possibilità (diretta) di filtrare in base a un attributo di una relazione (senza scrivere l'istruzione SQL o un'istruzione di join aggiuntiva), ho bisogno di questo tipo di filtro più di una volta.
Anche se non esiste una soluzione semplice, sono felice di ricevere tutte le risposte.