克服排除列表限制大小

时间:2011-08-11 03:25:09

标签: django django-models django-queryset

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

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

问题在于,显然存在限制 - 取决于您的数据库 - 是否传递的列表大小。

这是对的吗? 如果是这样,如何克服这个? 如果没有,是否有一些解释,当列表大小很大时,查询会无声地失败?

由于

1 个答案:

答案 0 :(得分:0)

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

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

(将您的小写型号名称改为model。)

如果数据模型允许,您可以做得更好。如果您可以在SQL中执行此操作,则可以在django中执行此操作。