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é

Reply via email to