Hello, I have a simple app. It's a cumtom SQLFORM form. When fill it in index, all seems ok, but in the redirect ('buscar_coche_ocasion'), where is the same form, raise an error:
ValueError: invalid literal for int() with base 10: '|75|75|' That's is: the var 'potencia' is sending twice, and stored in a list. If 'potencia' is passed as args, all is ok. controler: def index(): form2 = SQLFORM(db.busqueda_coche_ocasion) if form2.process(session=None, formname='fcoche_ocasion').accepted: redirect(URL('default','buscar_coche_ocasion', args=([form2.vars.marca,form2.vars.modelo]), vars={'potencia':form2.vars.potencia})) elif form2.errors: response.flash = T('error') else: pass ##Another form..... return dict() view index.html: <form action="" enctype="multipart/form-data" method="post" name='fcoche_ocasion'> <fieldset> <legend>{{=T('Coche de ocasión')}}</legend> <table> <tr id="busqueda_coche_ocasion_marca__row"> <td class="w2p_fl"><label for="busqueda_coche_ocasion_marca" id="busqueda_coche_ocasion_marca__label">{{=T('Marca: ')}} </label> </td> <td class="w2p_fw">{{=SELECT(MARCA_PRUEBA,_type='text',_class='string',_name='marca', _id='busqueda_coche_ocasion_marca')}} </td> <td class="w2p_fc"></td> </tr> <tr id="busqueda_coche_ocasion_modelo__row"> <td class="w2p_fl"><label for="busqueda_coche_ocasion_modelo" id="busqueda_coche_ocasion_modelo__label">{{=T('Modelo: ')}} </label></ td> <td class="w2p_fw">{{=SELECT(MODELOS_PRUEBA,_type='text',_class='string',_name='modelo',_id='busqueda_coche_ocasion_modelo')}} </td> <td class="w2p_fc"></td> </tr> <tr id="busqueda_coche_ocasion_potencia__row"> <td class="w2p_fl"><label for="busqueda_coche_ocasion_potencia" id="busqueda_coche_ocasion_potencia__label">{{=T('Potencia mínima (CV): ')}} </label></td> <td class="w2p_fw">{{=SELECT(POTENCIA_B, value='75',_name='potencia',_class="string",_id="busqueda_coche_ocasion_potencia")}} </td> <td class="w2p_fc"></td> </tr> <tr id="submit_record__row"> <td class="w2p_fl"></td> <td class="w2p_fw"> <input type="submit" value="{{=T('Buscar coche de ocasión')}}" /> </td> <td class="w2p_fc"></td> </tr> </table> </fieldset> <td class="hidden"><input name="_formname" type="hidden" value="fcoche_ocasion" /> </td> </form> db.py POTENCIA=(10,50,75,100,120) POTENCIA_B=('Todos',)+POTENCIA MARCA_PRUEBA=('Volvo','BMW') MODELOS_PRUEBA=('121','122','123','144') db.define_table('busqueda_coche_ocasion', Field('usuario', readable=False, writable=False, default=(auth.user_id or 'anonymous')), Field('marca',), Field('modelo',), Field('potencia',), ) db.busqueda_coche_ocasion.potencia.requires = IS_IN_SET(POTENCIA_B) db.define_table('coche_ocasion', Field('vendedor_id', default = auth.user_id, readable=False, writable=False), Field('marca',), Field('modelo',), Field('potencia', 'integer',), ) db.coche_ocasion.marca.requires = IS_IN_SET(MARCA_PRUEBA) db.coche_ocasion.modelo.requires = IS_IN_SET(MODELOS_PRUEBA) view: 'buscar_coche_ocasion.html' {{if listado_coches_ocasion:}} {{=H3(T('Estos son los coches encontrados: '))}} {{for item in listado_coches_ocasion:}} {{=item.marca+' '+item.modelo+' '+str(item.potencia)}} <br> {{pass}} {{else:}} {{=H3(T('No hay coches de ocasión de las características especificadas'))}} {{pass}} <form action="" enctype="multipart/form-data" method="post" name='fcoche_ocasion'> <table> <tr id="busqueda_coche_ocasion_marca__row"> <td class="w2p_fl"><label for="busqueda_coche_ocasion_marca" id="busqueda_coche_ocasion_marca__label">{{=T('Marca: ')}} </label> </td> <td class="w2p_fw">{{=SELECT(MARCA_PRUEBA,_type='text',_class='string',_name='marca', _id='busqueda_coche_ocasion_marca')}} </td> <td class="w2p_fc"></td> </tr> <tr id="busqueda_coche_ocasion_modelo__row"> <td class="w2p_fl"><label for="busqueda_coche_ocasion_modelo" id="busqueda_coche_ocasion_modelo__label">{{=T('Modelo: ')}} </label></ td> <td class="w2p_fw">{{=SELECT(MODELOS_PRUEBA,_type='text',_class='string',_name='modelo',_id='busqueda_coche_ocasion_modelo')}} </td> <td class="w2p_fc"></td> </tr> <tr id="busqueda_coche_ocasion_potencia__row"> <td class="w2p_fl"><label for="busqueda_coche_ocasion_potencia" id="busqueda_coche_ocasion_potencia__label">{{=T('Potencia mínima (CV): ')}} </label></td> <td class="w2p_fw">{{=SELECT(POTENCIA_B, value='75',_name='potencia',_class="string",_id="busqueda_coche_ocasion_potencia")}} </td> <td class="w2p_fc"></td> </tr> <tr id="submit_record__row"> <td class="w2p_fl"></td> <td class="w2p_fw"> <input type="submit" value="{{=T('Buscar coche de ocasión')}}" /> </td> <td class="w2p_fc"></td> </tr> </table> <td class="hidden"><input name="_formname" type="hidden" value="fcoche_ocasion" /> </td> </form>