2011-08-11 61 views
0

我試圖使用Django的排除(進行查詢),並傳遞給它一個列表,如:克服排除列表限制大小

(...).exclude(id__in=list(top_vip_deals_filter))

的問題是,很顯然,有一個限制 - 取決於您的數據庫 - 在傳遞列表的大小。

這是正確的嗎? 如果是這樣,如何克服這一點? 如果不是,那麼當列表大小很大時,查詢是否會失敗,這是否有一些解釋?

感謝

回答

0

如果top_vip_deals_filter來自數據庫,你可以設置一個額外的地方查詢:

(...).extra(where=['model.id not in select blah blah']) 

(把你的小寫的型號名稱,而不是model

你如果數據模型允許,可以做得更好。如果你可以用SQL來完成,你可以在django中完成。