Если вам нужна побитовая поддержка, bitstring - отличная библиотека (версия 2.2 работает с patch). Тем не менее, вы не сможете запросить на основе отдельных битов, а всего всего битрейта в целом.
Если количество категорий, которые каждый пользователь потенциально может выбрать, является лишь небольшим количеством, рассмотрите возможность использования повторного свойства с одним списком для каждой выбранной категории. Это позволяет легко запрашивать и не будет потреблять вашу квоту столько, сколько вы думаете.
Помните, что большая часть затрат исходит от чтения и записи. Запросы дешевы, если вы ограничиваете количество объектов, которые вы получаете каждый раз; не имеет значения, есть ли у вас 100 или 1 000 000 объектов такого рода.
GAE требует некоторых готовых размышлений, когда дело доходит до хранения данных (здесь денормализация иногда является хорошей вещью). Я советую читать документы хранилища данных сверху вниз, чтобы вы получили глубокое понимание того, как работают запросы и индексы. Также есть презентация ввода-вывода Google о том, как она работает под капотом.
Как указано в jterrace, иногда вам нужно задаться вопросом, было ли время, проведенное , разработкой, оптимальным решением является более чем дополнительная стоимость менее эффективного, но более простого решения.
Пожалуйста, не кричите. Спасибо. – bernie
Это запах преждевременной оптимизации. – jterrace