Есть некая модель User с целочисленным полем alert_flags.
Выполняю побитовые операции с каждым инстансом - все четко:
In [71]: User.objects.all().count()
Out[71]: 554
In [72]: len(filter(lambda x: x!=0, [im.alert_flags & 0b00010000 for im in User.objects.all()]))
Out[72]: 517
In [73]: len(filter(lambda x: x==0, [im.alert_flags & 0b00010000 for im in User.objects.all()]))
Out[73]: 37
Выполнение запроса к ОРМ приводит к совершенно неожиданным результатам:
In [74]: User.objects.filter(alert_flags=F('alert_flags').bitand(0b00010000)).count()
Out[74]: 63
Каким образом можно корректно осуществить побитовый запрос в базу через ОРМ?