Since post-1.79.2 versions introduced a bug regarding the fields 'upload'. Given the following application:
Model: db.define_table('mitabla', Field('nombre'), Field('archivo', 'upload', autodelete=True,), ) Controller: def subirarchivo(): form = crud.create(db.mitabla) registros = db(db.mitabla.id>0).select() return dict(form=form, registros=registros) def editararchivo(): form = crud.update(db.mitabla, request.args[0]) return dict(form=form) View (subirarchivo): {{=form}} <ul> {{for r in registros:}} <li>{{=r.id}} | {{=r.nombre}} {{=A('[editar]', _href=URL(r=request, f='editararchivo', args=[r.id]))}}</li></li> {{pass}} </ul> When I edit a record I get the following error: Traceback (most recent call last): File "/usr/home/jose/web2py/gluon/restricted.py", line 178, in restricted exec ccode in environment File "/usr/home/jose/web2py/applications/ppppp/controllers/ prueba.py", line 66, in <module> File "/usr/home/jose/web2py/gluon/globals.py", line 96, in <lambda> self._caller = lambda f: f() File "/usr/home/jose/web2py/applications/ppppp/controllers/ prueba.py", line 62, in editararchivo form = crud.update(db.mitabla, request.args[0]) File "/usr/home/jose/web2py/gluon/tools.py", line 2708, in update onvalidation=onvalidation, keepvalues=keepvalues): File "/usr/home/jose/web2py/gluon/sqlhtml.py", line 1027, in accepts self.table._db(self.table.id == self.record.id).update(**fields) File "/usr/home/jose/web2py/gluon/sql.py", line 3331, in update self.delete_uploaded_files(update_fields) File "/usr/home/jose/web2py/gluon/sql.py", line 3363, in delete_uploaded_files if self.uploadseparate: AttributeError: 'Set' object has no attribute 'uploadseparate' José