You a field of type 'list:integer' stored data in in then you changed to 'integer'. Sqlite did not check and allowed to keep the lists stored in there but now web2py does not allow you to take them out.
You must delete all the data in that field. db(db.table).update(db.table.field=0) On Dec 1, 4:12 pm, puercoespin <jzaragoza.puercoes...@gmail.com> wrote: > 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='m > arca', > _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_pot > encia")}} > </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='m > arca', > _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_pot > encia")}} > </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>