Massimo Thanks. This works. Just 2 follow-up questions.
1. Why does the *Choose File* button continue to say *No file chosen*? (The form submits though, with no validation errors) 2. Can this be done with *SQLFORM.factory *instead of *SQLFORM*? Meaning that when I set the defaults, including setting the data for field that represents the upload file, I expect that if I hit the submit button as my first action, validation should be passed. What happens instead is that a validation error occurs that makes it seem that a file had not been had not been chosen. (*I noticed the online book (6th edition) does not have any info under the section Uploading Files with SQLFORM.factory.(http://www.web2py.com/book/default/chapter/07#Uploading-files-with-SQLFORMfactory <http://www.web2py.com/book/default/chapter/07#Uploading-files-with-SQLFORMfactory>)* ) On Friday, November 25, 2016 at 11:17:51 PM UTC-5, Massimo Di Pierro wrote: > You are you doing this: > > if edit_mode: > > id = int(request.args[0]) > > q = db.upload_file.id == id > > rows = db(q).select() > > for row in rows: > > for field in row: > > if field in db.upload_file.fields: > > db.upload_file[field].default = row[field] > > > > ... > > form = SQLFORM.factory(db.upload_file, fields=fields, > > submit_button=T('Add to Print Queue') if not edit_mode > else T('Update Queue'), > > upload=URL('download')) > > Instead of > > button = T('Add to Print Queue') if not edit_mode > else T('Update Queue') > form = SQLFORM(db.upload_file, > request.args(0,cast=int,default=0), > upload=URL('download'), > submit_button=button).process() > > > On Monday, 21 November 2016 09:42:54 UTC-6, Kenwyn Pilgrim wrote: >> >> I too have this issue with using SQLFORM.factory to edit. >> >> My model looks like: >> >> db.define_table('upload_file', >> >> Field('doc_type', 'reference document_type', required=True, >> label=T('Type')), >> >> Field('pdf_name', 'upload', label=T('PDF Document'), >> >> uploadfolder=os.path.join(request.folder, 'uploads', >> 'user_data')),...) >> >> >> my controller looks like: >> >> ... >> >> >> edit_mode = len(request.args) > 0 >> >> if edit_mode: >> >> id = int(request.args[0]) >> >> q = db.upload_file.id == id >> >> rows = db(q).select() >> >> for row in rows: >> >> for field in row: >> >> if field in db.upload_file.fields: >> >> db.upload_file[field].default = row[field] >> >> >> >> ... >> >> form = SQLFORM.factory(db.upload_file, fields=fields, >> >> submit_button=T('Add to Print Queue') if not >> edit_mode else T('Update Queue'), >> >> upload=URL('download')) >> >> ... >> >> >> If I am in edit mode and hit the "Update Queue" button, I get the validation >> error "Please select a file", even though I have prepopulated the defaults. >> >> I have to click the "Choose File" button to select a file *again, *then it >> works. >> >> >> Please help. >> >> Thanks. >> >> >> On Saturday, April 6, 2013 at 11:22:32 AM UTC-5, Massimo Di Pierro wrote: >>> >>> what are the models? >>> >>> On Tuesday, 2 April 2013 12:19:12 UTC-5, Ramos wrote: >>>> >>>> Back to business after almost 2 months i try again to use >>>> sqlform.factory to create and edit documents >>>> My problem was to generate the link >>>> i rearranged my code as follows >>>> >>>> >>>> #if edit a document >>>> if request.args(0): >>>> >>>> row=db((db.trabalhador.id==request.args(0))).select().first() >>>> >>>> empresa=row.empresa >>>> >>>> foto=row['foto'] or None >>>> #print foto >>>> if row: >>>> for field in row: >>>> >>>> if field in db.trabalhador.fields: >>>> #POPULATE FIELDS with record to edit >>>> db.trabalhador[field].default=row[field] >>>> >>>> form=SQLFORM.factory(db.trabalhador,db.t_docs, >>>> submit_button="Gravar", >>>> >>>> fields=['nome','bi','ncart','ncartval','rfid','apt_medica','apt_medicaval','val_formacao','f_doc'], >>>> table_name='trabalhador', >>>> upload=URL('download') >>>> ) >>>> >>>> I see my record and upload fields with [file] link. The [file] link >>>> downloads my uploaded file. >>>> My upload fields have required= true in db.py!!! >>>> I do nothing and just press save >>>> >>>> I get the error saying that i have to select a file to my upload >>>> field. >>>> >>>> I´m stuck >>>> >>>> Help please..... >>>> >>> -- 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.