Преодоление размера списка исключений - PullRequest
0 голосов
/ 11 августа 2011

Я пытаюсь сделать запрос, используя Django Exclude () и передав ему список, как в:

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

Проблема в том, что, по-видимому, существует ограничение - в зависимости от вашей базы данных - на размер передаваемого списка.

Это правильно? Если так, как это преодолеть? Если нет, есть ли какое-то объяснение тому факту, что запросы молча терпят неудачу, когда размер списка велик?

Спасибо

1 Ответ

0 голосов
/ 11 августа 2011

Если top_vip_deals_filter поступает из базы данных, вы можете указать дополнительный символ в запросе:

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

(вместо названия model. Введите название вашей строчной модели)

Youможет сделать лучше, если модель данных позволяет вам.Если вы можете сделать это в SQL, вы, вероятно, можете сделать это в django.

...