克服排除列表限制大小



我正在尝试使用Django的Exclude()并传递给它一个列表进行查询,如:

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

问题是,很明显,有一个限制——取决于你的数据库——所传递的列表的大小。

正确吗?如果是这样,如何克服?如果不是,那么当列表大小很大时,查询会无声地失败,这一事实是否有一些解释?

谢谢

如果top_vip_deals_filter来自数据库,您可以在查询中设置一个额外的where:

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

(用小写的模型名代替model)

如果数据模型允许,您可以做得更好。如果你能在SQL中做到,那么在django中也能做到。

最新更新