Search code examples
djangogoogle-app-enginedjangoappengine

Running Raw query on django appengine gives cursor not implemented


Thanks for taking the time to look at my question! I am trying to run the following raw query in django on googleappgine:

models.MyModel.objects.raw(
    'select count(1) from myapp_mymodel where %s >= my_column',
    [4])

I keep getting the error:

NotImplementedError: Cursors are not supported.

However, cursors do seem to be implemented in djangoappengine.

Has anyone else run into this issue??

Traceback:

File "..../django/core/handlers/base.py", line 111, in get_response
response = callback(request, *callback_args, **callback_kwargs)

  File "..../promotions/views.py", line 562, in task_alert_stats
auto_join_sql, auto_join_params)[0]

  File "..../django/db/models/query.py", line 1381, in __getitem__
return list(self)[k]

  File "..../django/db/models/query.py", line 1326, in __iter__
query = iter(self.query)

  File "..../django/db/models/sql/query.py", line 67, in __iter__
self._execute_query()

  File "..../django/db/models/sql/query.py", line 81, in _execute_query
self.cursor.execute(self.sql, self.params)

  File "..../django/db/backends/util.py", line 34, in execute
return self.cursor.execute(sql, params)

  File "..../djangotoolbox/db/base.py", line 620, in __getattribute__
raise NotImplementedError("Cursors are not supported.")

Solution

  • To anyone who comes across this:

    I ended up doing a simple filter and then going through the results to further filter them.