NDB Datastore запрещает множественные запросы на неравенство по разным свойствам. Чтобы обойти это, я подумал, что решением может быть объединение результатов нескольких независимых запросов. Я нашел этот вопрос 2011 года который рекомендует геохешинг, с которым я не знаком. Так что, возможно, сегодня есть лучшее решение.
Рассмотрим эти два вопроса:
q1 = User.query(User.age < 18).fetch()
q2 = User.query(User.city != 'New York City').fetch()
Я пытаюсь присоединиться к ним вот так:
results = set(q1).intersection(q2)
Однако я сталкиваюсь с TypeError: Model is not immutable
.
Мои вопросы:
- Есть ли лучший способ справиться с множественными фильтрами неравенства для разных свойств?
- Если нет, как я могу решить
TypeError
выше?
Спасибо за помощь.