Как выполнять побитовые запросы к БД в Django?

Как я могу выполнять побитовые запросы к БД с помощью Django?
Я не нашел ничего об этом в документах.
Должен ли я получить набор запросов, а затем фильтровать его программно?

Если вам интересно, я использую побитовые операции в качестве альтернативы операторам IN()в очень больших и сложных запросах, чтобы повысить производительность.
У меня есть БД, содержащая миллионы элементов (записей). В некоторых полях используется двоичное представление свойства элемента.
Например: поле Цветможет иметь несколько значений, поэтому оно имеет следующую структуру:

0001 - Red
0010 - Green
0100 - Blue
1000 - White

(это двоичные значения)
Таким образом, если элемент имеет красный и синий цвета, поле Colorбудет содержать 0101.
Когда пользователь запрашивает БД, я использую побитовое ИЛИ для поиска совпадений (вместо IN(), что очень медленно).

7
задан user1102018 29 March 2012 в 07:51
поделиться