我正在用sqlalchemy使用掛架。我有幾種模式,並發現自己一次又一次地寫了這樣的代碼:如何爲Sqlalchemy中的各種模型編寫通用的get_by_id()方法?
question = Session.query(Question).filter_by(id=question_id).one()
answer = Session.query(Answer).fileter_by(id=answer_id).one()
...
user = Session.query(User).filter_by(id=user_id).one()
由於模型都是擴展類Base
,有沒有辦法定義一個通用get_by_id()
方法?
所以我可以用它作爲:
quesiton = Question.get_by_id(question_id)
answer = Answer.get_by_id(answer_id)
...
user = User.get_by_id(user_id)
這隻有在你使用愚蠢的'聲明性'材料時纔是正確的。最簡單的解決方法是不使用'declarative'。 – habnabit 2010-09-03 18:36:52
非常感謝你,它效果不錯:) – Freewind 2010-09-04 05:25:33
這個答案幫助我解決了我遇到的一個相關問題。謝謝。 – 2010-10-27 16:41:01