テーブルがurls
ありrequests
、次のような関係を定義しました。
class Request(Base):
...
url_id = Column('url_id', Integer, ForeignKey(Url.id))
requests = relationship(Url, backref='requests')
つまり、特定のURLに対してこれまでに行われたすべてUrl.requests
のリクエストを要求して取得できるということです。ただし、私がやりたいのは、特定の日付に制限されているURLのセットを取得することです。requests
これを記述して、必要な結果セットを取得できますが、これを適切にパッケージ化する方法がわからないため、オブジェクトを反復処理して各Url
オブジェクトを取得できます.requests
。理想的には、これらのRequestオブジェクトも熱心にロードしたいと思います。これが私が望む行を取り戻すために私が書いたものです:
session.query(Url).join(Request).filter(Request.created >= start_date, Request.created < end_date)
クエリをダンプすると、かなり合理的に見えますが、URLを繰り返し処理してそれぞれに.requests
要求すると、フィルターを通過したリクエストだけでなく、すべてのリクエストが返されます。ORMでこれを行うことは可能ですか?