This issue on web2py is related to GAE issue 3119 (http://
code.google.com/p/googleappengine/issues/detail?id=3119).
I'm using web2py 1.77.3.
In gql.py, line 702 to 709:
def delete(self):
self._db['_lastsql'] = 'DELETE WHERE %s' % self.where
(items, tablename, fields) = self._select()
tableobj = self._db[tablename]._tableobj
counter = self.items_count(items)
if counter:
gae.delete(items)
return counter
According to comment 8 on issue 3119, the delete function no longer
works on Query object, which items is an instance of. It suggests to
change the code to either:
db.delete(<query>.fetch(1000))
or
db.delete(list(<query>))
with a preference to fetch(1000). In other words: a fix for this issue
is to update line 708 to:
gae.delete(items.fetch(1000))
It leaves open the issue of queries returning more than 1000 results,
though.
Best regards,
Christophe