Как я могу выполнять побитовые запросы к БД с помощью Django?
Я не нашел ничего об этом в документах.
Должен ли я получить набор запросов, а затем фильтровать его программно?
Если вам интересно, я использую побитовые операции в качестве альтернативы операторам IN()в очень больших и сложных запросах, чтобы повысить производительность.
У меня есть БД, содержащая миллионы элементов (записей). В некоторых полях используется двоичное представление свойства элемента.
Например: поле Цветможет иметь несколько значений, поэтому оно имеет следующую структуру:
0001 - Red
0010 - Green
0100 - Blue
1000 - White
(это двоичные значения)
Таким образом, если элемент имеет красный и синий цвета, поле Colorбудет содержать 0101
.
Когда пользователь запрашивает БД, я использую побитовое ИЛИ для поиска совпадений (вместо IN(), что очень медленно).