我有一個SQLAlchemy模型,說Entity
,這有一個列is_published
。如果我用id來查詢,我只想在is_published
設置爲True
時返回。我想我可以使用過濾器來實現。但是如果存在關係並且我能夠並且需要像another_model_obj.entity
那樣訪問它並且我只想要這個給出相應的實體對象,如果該實例的is_published
被設置爲True
。我應該怎麼做?一個解決方案將使用一個if塊每次使用這個包裹。但是我多次使用它,如果再次使用它,我將不得不記住這些細節。有沒有什麼辦法可以在SQLAlchemy中實現這種自動化?或者還有其他更好的解決方案來解決這個問題嗎?謝謝如何在SQLAlchemy中執行此操作?
1
A
回答
2
它的內容,如果你需要一個連接:
session().query(AnotherModel).join(Entity).filter(Entity.is_published)
0
這個問題在這裏問了很多次,仍然沒有一個很好的答案。 Here are SQLAlchemy作者建議的可能解決方案。一個更復雜的查詢類來排除未發佈的對象is provided in iktomi library。它僅適用於現在的SQLAlchemy 0.8。*分支,但應儘快移植到0.9。*。請參閱test cases以瞭解限制(失敗的測試用@unittest.skip()
標記)和使用示例。
相關問題
- 1. 如何在Drupal中執行此操作?
- 2. 如何在numPy中執行此操作?
- 3. 如何在Prolog中執行此操作?
- 4. 如何在shell中執行此操作?
- 5. 如何在SQL中執行此操作?
- 6. 如何在Groovy中執行此操作?
- 7. 如何在jQuery中執行此操作?
- 8. 如何在each_char中執行此操作?
- 9. 如何在CSS中執行此操作
- 10. 如何在makefile中執行此操作?
- 11. 如何在Clickonce中執行此操作?
- 12. 如何在LINQ中執行此操作?
- 13. 如何在ASP.net中執行此操作?
- 14. 如何執行此操作?
- 15. PROMELA如何執行此操作?
- 16. 如何讓vba執行此操作?
- 17. 如何執行此操作:site.com/users/user1
- 18. 如何自動執行此操作?
- 19. 如何使用GridBagBayout執行此操作?
- 20. 如何使用LINQ執行此操作?
- 21. 時間旅行調試:如何在C#中執行此操作?
- 22. 如果我有外鍵,如何在Django中執行此操作?
- 23. 如何在單個語句中的SQL中執行此操作?
- 24. 如何在Java中以遞歸方式執行此操作
- 25. 如何在PHP中執行此類字符串操作?
- 26. 如何在控制器中執行此操作?
- 27. 如何在Excel中執行此查找操作
- 28. 如何在Direct x 11中執行此操作?
- 29. 我應該如何在Node.js中執行此操作
- 30. 如何在actionbar中執行此操作(2個垂直TextView)
IIRC你甚至可以省略明確的'.join'和寫入......查詢(Entity,AnotherModel).filter(...)'。 – 9000
你可能會這樣做,但然後AnotherModel實例將成爲結果集的一部分 – knitti
當然,對於模型和服務文件中的東西,我使用類似這樣的東西。對於意見,我放棄404。但在一些不可避免的模板用法,我不能把一個完整的查詢,我該怎麼辦? – adarsh