Я строю запрос, используя объект Q, но он зависает.
Когда я "И" фильтры вместе, запрос работает нормально. Вот пример:
School.objects.filter( Q(city__search='"orlando"'), Q(schoolattribute__attribute__name__search='"subjects"') )
Но когда я "ИЛИ" фильтрую вместе, запрос просто зависает, потому что я предполагаю, что слишком много нужно обработать:
School.objects.filter( Q(city__search='"orlando"') | Q(schoolattribute__attribute__name__search='"subjects"')
Мне интересно, что именно здесь происходит и что я могу сделать, чтобы смягчить это. Почему запрос работает при использовании «И», но не при использовании «ИЛИ»?
РЕДАКТИРОВАТЬ: Хороший совет @psagers. Таким образом, получается, что запрос AND получает два INNER JOIN, а запрос OR - два LEFT OUTER JOIN.