i really think its a bug in form.factory, i tried modify by the controller 
too, like 
form.element(_id=no_table_cities).update(_class="selectpicker")

and no sucess.

terça-feira, 21 de Agosto de 2018 às 13:31:38 UTC-3, Rodrigo Gomes escreveu:
>
> @auth.requires_login()
> def students():
> form = form=SQLFORM.factory(db.person, db.address)
>
> cities_list = db(db.cities.id>0).select(db.cities.ALL)
> address_type_list = db(db.address_type.id>0).select(db.address_type.ALL)
> person_list = db(db.person.id>0).select(db.person.ALL)
>
>
> if form.process().accepted:
> id = db.person.insert(**db.person._filter_fields(form.vars))
> form.vars.person=id
> id = db.address.insert(**db.address._filter_fields(form.vars))
> redirect(URL('default','students'))
> response.flash='Form Submetido com sucesso!' 
> elif form.errors:
> print(form.errors)
> print(form.vars)
> else:
> print('please fill out the form')
> return dict(form=form, cities_list=cities_list, 
> address_type_list=address_type_list, 
> person_list=person_list)
>
>
> terça-feira, 21 de Agosto de 2018 às 10:10:39 UTC-3, Peng Wang escreveu:
>>
>> How did you define your cities_list?
>>
>> On Thursday, August 16, 2018 at 4:39:35 PM UTC-7, Rodrigo Gomes wrote:
>>>
>>>
>>> Good evening, folks, I've come here to unveil a mystery, I'm developing 
>>> an application with web2py, (framework that I use about 3 years ago)
>>>
>>> I am using sqlform.factory, passing 2 tables, being that I do this to 
>>> fill in a single form, table, person and address, for better understanding 
>>> follows my controller, 
>>>
>>>
>>> @auth.requires_login()
>>> def students():
>>>     form = form=SQLFORM.factory(db.person, db.address)
>>>  
>>>     if form.process().accepted:
>>>        id = db.person.insert(**db.person._filter_fields(form.vars))
>>>        form.vars.person=id
>>>        id = db.address.insert(**db.address._filter_fields(form.vars))
>>>        response.flash='Form Submetido com sucesso!' 
>>>  
>>>     elif form.errors:
>>>        print(form.errors)
>>>     else:
>>>        print('please fill out the form')
>>>
>>>
>>>
>>>
>>> if it helps, this is my model, the tables and their relationships, 
>>>
>>> db.define_table("person",
>>>     Field("name", "string", length=50),
>>>     Field("cpf", "string", length=11),
>>>     Field("birthday", "date", length=11),
>>>     Field("email","string", length=40),
>>>     Field("registration_date","date", length=40)
>>>     )
>>>
>>> db.define_table("cities",
>>>     Field("name", "string"),
>>>     Field("state","reference state")
>>>     )
>>>
>>> db.define_table("address_type",
>>>     Field("type","string",length=100),
>>>     )
>>>
>>> db.define_table("address",
>>>     Field("number","integer"),
>>>     Field("public_place","string"),
>>>     Field("cep","string",length=15),
>>>     Field("complement","string"),
>>>     Field("cities",'reference cities'),
>>>     Field("address_type",'reference address_type'),
>>>     Field("person",'reference person', writable=False,readable=False)
>>>     )
>>>
>>>
>>>
>>>
>>> This is my view 
>>>
>>> <form action="#" class="form-material" enctype="multipart/form-data" 
>>> method="post">
>>>         <div class="form-group">
>>>             <div class="col-md-12 m-b-20">
>>>                 <!--form.custom.widget.name -->
>>>                 <input class="form-control" id="no_table_name" name="name" 
>>> type="text" placeholder="nome">
>>>             </div>
>>>             <div class="col-md-12 m-b-20">
>>>                 <!--form.custom.widget.cpf -->
>>>                 <input class="form-control" id="no_table_cpf" name="cpf" 
>>> type="text" placeholder="cpf">
>>>             </div>
>>>             
>>>             <div class="col-md-12 m-b-20">
>>>                 <!--form.custom.widget.email -->
>>>                 <input class="form-control" id="no_table_email" 
>>> name="email" type="text" placeholder="email">
>>>             </div>                                                          
>>>               
>>>             <div class="col-md-12 m-b-20">
>>>                 <!--    <select class="form-control generic-widget" 
>>> id="no_table_address_type" name="address_type"><option 
>>> value="">Vazio</option><option value="1">Comercial</option><option 
>>> value="2">Residencial</option></select> -->
>>>                 
>>>                 <select class="form-control selectpicker"  
>>> id="no_table_address_type" name="address_type" data-style="btn-info 
>>> btn-outline-info">                                                          
>>>                   
>>>                     {{for t in address_type_list:}}
>>>                     <option value="{{=t.id}}">{{=t.type}}</option>
>>>                     {{pass}}
>>>                 </select>
>>>             </div>
>>>             <div class="col-md-12 m-b-20">
>>>                 <select id="no_table_cities" name="cities" 
>>> data-style="btn-info btn-outline-info" required>
>>>                     {{for city in cities_list:}}
>>>                     <option value="{{=city.id}}" >{{=city.name}}</option>
>>>                     {{pass}}
>>>                 </select>
>>>             </div>
>>>             
>>>             <!--form.custom.end -->
>>>             <div class="hidden">
>>>                 {{=form.hidden_fields()}}
>>>             </div>
>>>         </div>
>>>     
>>>         <div class="modal-footer">
>>>             <input class="btn btn-info" type="submit" value="Salvar">
>>>             <button type="button" class="btn btn-default waves-effect" 
>>> data-dismiss="modal">Cancelar</button>
>>>         </div>
>>>     </div>
>>> </form>
>>>
>>>
>>>
>>>
>>> now the problem: this selectpicker, simply my form can not store the 
>>> value of select, when I add this class, I needed it, I do not need it that 
>>> much, but it became a mission to understand what's happening here, I gave a 
>>> print em form. vars.cities and she's just like None, help please
>>>
>>> <Storage {'name': 'maria', 'cpf': '09102910', 'birthday': None, 'email': 
>>> 'rodg...@gmail.com', 'registration_date' public_place ':' ',' '' '' '' 
>>> '' '' '' '' '' '' 'cities': None, 'address_type': None, 'person': 4}>
>>>
>>

-- 
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.

Reply via email to