У меня есть следующий запрос в моем приложении
query = cls.query().filter(cls.taskgroup_id == taskgroup_id, cls.availability == True, cls.task_id > min_task_id).order(cls.task_id)
query.fetch(1)
Выше работает нормально, как и ожидалось. (Выбирает только те объекты, которые соответствуют taskgroup_id и доступны, и task_id > min_task_id)
Однако, когда я разбиваю запрос на несколько операторов.
query = cls.query()
query.filter(cls.taskgroup_id == taskgroup_id)
query.filter(cls.availability == True)
query.filter(cls.task_id > min_task_id)
Это не работает, как ожидалось.
Когда я запускаю [2], формирование запроса разбито на несколько операторов, он возвращает мне сущность, доступность которой равна False, а task_id равен min_task_id.
[2] работает не так, как ожидалось (или так, как я ожидаю). Я думаю, что здесь ошибка пользователя. Интересно, что это такое.