Hi,
On GAE, I use appadmin to update a record which includes an upload
field. If I chose to retain the existing file, or delete it, a
KeyError will be thrown.
Tracing into the code I believed that the following patch is
necessary:
In sqlhtml.py:SQLFORM:accepts(), there is a block:
if f == '' or f == None:
if self.vars.get(fd, False) or not self.record:
fields[fieldname] = ''
else:
fields[fieldname] = self.record[fieldname]
self.vars[fieldname] = fields[fieldname]
continue
that should be updated to:
if f == '' or f == None:
if self.vars.get(fd, False) or not self.record:
fields[fieldname] = ''
if isinstance(field.uploadfield,str):
fields[field.uploadfield] = None
else:
fields[fieldname] = self.record[fieldname]
if isinstance(field.uploadfield,str):
fields[field.uploadfield] =
self.record[field.uploadfield]
self.vars[fieldname] = fields[fieldname]
continue
Thank you