2014-04-15 68 views
2

我有一組ID,我想檢索所有的對象。我當前的解決方案可以工作,但是它會在循環內部使用一堆get查詢來破壞數據庫。Django獲得許多ID的對象

objects = [SomeModel.objects.get(id=id_) for id_ in id_set] 

有沒有更有效的方法來解決這個問題?

回答

5

有一個__in(documentation here)字段查詢,你可以用它來獲取其中的某個域匹配

objects = SomeModel.objects.filter(id__in=id_set) 

工作只是同爲許多不同的字段類型的值的列表中的一個的所有對象(例如CharFields),而不僅僅是id字段。

+1

如果您不能提供任何其他信息,那麼只需彈出代碼,至少格式化它。由於沒有人可以編輯它。 – Idris

+0

這正是我正在尋找的,謝謝!我會在幾分鐘內接受這個答案。 – rectangletangle