從多對多博客和標籤模型和從Querying a many-to-many relationship in SQLAlchemy查詢,我知道session.query(Blog).join(Blog.tags).options(contains_eager(Blog.tags)).filter(Blog.tags.in_(list_of_relevant_tags)).all()
會給我所有的博客文章,至少有一個list_of_relevant_tags
中的標籤,並且這些標籤已經被查詢並返回。SQLAlchemy:過濾多對多,但返回所有結果
我看到的潛在問題(我在測試時遇到了問題)是如果我想獲取返回的博客上的標籤列表。我想返回所有的標籤,但生成的SQL會表明,至多需要第二次查詢。最糟糕的情況是,SQLA只會返回與列表匹配的標籤。
有沒有辦法在ORM中提交此查詢以返回匹配的博客帖子以及所有他們的標籤在一個數據庫中被擊中?
我不認爲你有你害怕的問題。 * join *和* filter *將使用完全不同的對象。如果您不舒服,只需爲此場景創建一個測試用例。 – van