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.