我正在尝试使用Django的Exclude()进行查询并向其传递一个列表,如:
(...).exclude(id__in=list(top_vip_deals_filter))
问题在于,显然存在限制 - 取决于您的数据库 - 是否传递的列表大小。
这是对的吗? 如果是这样,如何克服这个? 如果没有,是否有一些解释,当列表大小很大时,查询会无声地失败?
由于
答案 0 :(得分:0)
如果top_vip_deals_filter来自数据库,您可以在查询中设置额外的位置:
(...).extra(where=['model.id not in select blah blah'])
(将您的小写型号名称改为model
。)
如果数据模型允许,您可以做得更好。如果您可以在SQL中执行此操作,则可以在django中执行此操作。