title: Error in GAE with ndb - BadQueryError: Cannot convert FalseNode to predicate
body: <p>I have an application running on Google App Engine with python.
  Model classes extend from ndb (google.appengine.ext.ndb) classes.</p>
  
  <p>One of my views makes async calls to the database, something more or less like:</p>
  
  <pre><code># ExerciseListLog is a ndb model class
  # start_current, end_current are dates
  # student_id is a string
  # contents is a list of keys
  
  exercise_log_query = ExerciseListLog.query(ndb.AND(ExerciseListLog.creation &gt;= start_current,
      ExerciseListLog.creation &lt; end_current,
      ExerciseListLog.user_id == student_id))
  exercise_log_query = exercise_log_query.filter(ExerciseListLog.content.IN(contents))
  
  future = exercise_log_query.count_async()
  
  count = future.get_result() # this throws BadQueryError
  </code></pre>
  
  <p>this is throwing an error on get_result():
  BadQueryError: Cannot convert FalseNode to predicate</p>
  
  <p>But it only happens when I deploy my code to the Google cloud. When I run it locally it works fine.</p>
  
  <p>I have no idea what this error means and looking it up on Google is not helping much.
  Anyone knows what's wrong here?</p>
  
  <p>Here's the full stacktrace from GAE's logs</p>
  
  <pre><code>Traceback (most recent call last):
    File "/base/data/home/apps/s~qmagtest/1.366092357976105290/zen/web/gae/convention.py", line 48, in make_convention
      method(*args, **kwargs)
    File "/base/data/home/apps/s~qmagtest/1.366092357976105290/core/web/qmhandler.py", line 48, in wrapper
      return method(self, *args, **kwargs)
    File "/base/data/home/apps/s~qmagtest/1.366092357976105290/core/user/login/security.py", line 36, in wrapper
      method(self, *args, **kwargs)
    File "/base/data/home/apps/s~qmagtest/1.366092357976105290/core/user/security.py", line 17, in wrapper
      method(self, *args_inner, **kwargs)
    File "/base/data/home/apps/s~qmagtest/1.366092357976105290/plugins/web/desempenho/estatisticas.py", line 127, in class_activities
      school_class.content)
    File "/base/data/home/apps/s~qmagtest/1.366092357976105290/plugins/web/desempenho/estatisticas.py", line 178, in _get_exercise_video_and_total_weekly_series
      exercise_log_count = exercise_count_futures[i].get_result()
    File "/python27_runtime/python27_lib/versions/1/google/appengine/ext/ndb/tasklets.py", line 325, in get_result
      self.check_success()
    File "/python27_runtime/python27_lib/versions/1/google/appengine/ext/ndb/tasklets.py", line 371, in _help_tasklet_along
      value = gen.send(val)
    File "/python27_runtime/python27_lib/versions/1/google/appengine/ext/ndb/query.py", line 1227, in _count_async
      dsquery = self._get_query(conn)
    File "/python27_runtime/python27_lib/versions/1/google/appengine/ext/ndb/query.py", line 873, in _get_query
      filters = filters._to_filter()
    File "/python27_runtime/python27_lib/versions/1/google/appengine/ext/ndb/query.py", line 599, in _to_filter
      for node in self.__nodes
    File "/python27_runtime/python27_lib/versions/1/google/appengine/ext/ndb/query.py", line 600, in &lt;genexpr&gt;
      if isinstance(node, PostFilterNode) == post))
    File "/python27_runtime/python27_lib/versions/1/google/appengine/ext/ndb/query.py", line 425, in _to_filter
      'Cannot convert FalseNode to predicate')
  BadQueryError: Cannot convert FalseNode to predicate
  </code></pre>