docker exec -i <имя вашего контейнера> bash -c '...'
q = Q()
...
куча разных фильтров в зависимости от всяких состояний
...
q &= Q(alert_flags=F('alert_flags').bitand(0b11101111))
...
res = queryset.filter(q)
AttributeError: 'ExpressionNode' object has no attribute 'lookup'
>>> from decimal import *
>>> import re
>>> getcontext().prec = 5
>>> res = [Decimal(im) for im in re.findall('\d*\.\d+', a)]
>>> res
[Decimal('1.2330'), Decimal('1.3460')]
>>> res[0] + res[1]
Decimal('2.5790')
Почему неправильно? У меня к примеру больше сотни проектов с различной инфраструктурой - где-то питон 2, где-то 3-й, где-то mysql, где-то mongo или postgres, где-то с postgis - а где-то без, и при этом разных версий может быть, где-то redis, а где-то influxdb или там dynamodb в различных конфигурациях и степенях сложности - как раз виртуалки городить на каждый проект- не выход.
А докер-контейнеры вполне задачи решают, тем-более нужное окружение запускается и разворачивается одной командой - поскольку в каждом файле проекта docker-composer лежит, и система Continious integration которая при коммитах делает деплой автоматом и тесты прогоняет на тестовом сервере - тоже докер использует.
Как раз все очень удобно - и в деплое, и в тестах, и в разработке.