I have tried this example but I get this error below:
db(query).delete() File "/usr/local/lib/python2.7/dist-packages/pydal/objects.py", line 2277, in delete ret = db._adapter.delete(table, self.query) File "/usr/local/lib/python2.7/dist-packages/pydal/adapters/sqlite.py", line 86, in delete deleted = [x[table._id.name] for x in db(query).select(table._id)] File "/usr/local/lib/python2.7/dist-packages/pydal/objects.py", line 2250, in select return adapter.select(self.query, fields, attributes) File "/usr/local/lib/python2.7/dist-packages/pydal/adapters/sqlite.py", line 82, in select return super(SQLite, self).select(query, fields, attributes) File "/usr/local/lib/python2.7/dist-packages/pydal/adapters/base.py", line 757, in select colnames, sql = self._select_wcols(query, fields, **attributes) File "/usr/local/lib/python2.7/dist-packages/pydal/adapters/base.py", line 672, in _select_wcols query = self.expand(query, query_env=query_env) File "/usr/local/lib/python2.7/dist-packages/pydal/adapters/base.py", line 434, in _expand rv = op(first, second, **optional_args) File "/usr/local/lib/python2.7/dist-packages/pydal/dialects/base.py", line 228, in _and self.expand(second, query_env=query_env)) File "/usr/local/lib/python2.7/dist-packages/pydal/dialects/__init__.py", line 96, in expand return self.adapter.expand(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/pydal/adapters/base.py", line 453, in _expand return str(rv) File "/usr/local/lib/python2.7/dist-packages/pydal/objects.py", line 2090, in __repr__ return '<Set %s>' % str(self.query) File "/usr/local/lib/python2.7/dist-packages/pydal/objects.py", line 1963, in __str__ return str(self.db._adapter.expand(self)) File "/usr/local/lib/python2.7/dist-packages/pydal/adapters/base.py", line 434, in _expand rv = op(first, second, **optional_args) File "/usr/local/lib/python2.7/dist-packages/pydal/dialects/base.py", line 344, in eq self.expand(second, first.type, query_env=query_env)) File "/usr/local/lib/python2.7/dist-packages/pydal/dialects/__init__.py", line 96, in expand return self.adapter.expand(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/pydal/adapters/base.py", line 444, in _expand rv = self.represent(expression, field_type) File "/usr/local/lib/python2.7/dist-packages/pydal/adapters/base.py", line 381, in represent return super(SQLAdapter, self).represent(obj, field_type) File "/usr/local/lib/python2.7/dist-packages/pydal/adapters/base.py", line 334, in represent obj = obj() TypeError: id() takes exactly one argument (0 given) Issues: 1. What could be wrong. 2. Is there a way of following this example but deleting rows upto a certain limit, say anything above 50 like in this example: DELETE FROM post WHERE id IN(SELECT id FROM post ORDER BY id LIMIT 50 ASC) On Sunday, October 15, 2017 at 4:03:12 AM UTC+3, 黄祥 wrote: > > think you can do it by store the user created id (auth.signature or code > it by your self) in your table and use it as a condition > *e.g. not tested* > query = ((db.table.id == id) & (db.table.created_by == auth.user_id) ) > db(query).delete() > > best regards, > stifan > >> -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.