Reikia pagalbos kuriant SQLAlchemy užklausą + subquery

Tai yra SQL, kurią man reikia SQLAlchemy sugeneruoti per jos ORM.

SELECT
    *
FROM
    notes
WHERE
    notes.student_id == {student_id} 
  OR
    notes.student_id IN (
        SELECT
            *
        FROM
            peers
        WHERE
            peers.student_id == {student_id}
          AND
            peers.date_peer_saved >= notes.date_note_saved
    )

SQL nėra išbandytas. Aš ką tik parašiau į demonstracinę versiją ką man reikia padaryti SQLAlchemy.

Iš esmės prisijungęs studentas turėtų pamatyti išsaugotų užrašų sąrašą. Tačiau vieninteliai užrašai , kuriuos studentas turėtų pamatyti, yra tie, kuriuos paskelbė patys arba tie, kuriuos paskelbė vienas iš jų bendraamžių. Bet tik tie bendraamžiai, kuriuos jie „draugavo“ po to, kai įrašas buvo išsaugotas.

Tokiu būdu studentas nematys kito studento paskelbtų užrašų, kol netaps bendraamžiais.

Tačiau man kyla problemų, kad tai būtų vykdoma „SQLAlchemy“ ORM. Ar reikia pagalbos?

5
задан dave 13 June 2011 в 11:01
поделиться