@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': '
>> [email protected]', '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 [email protected].
For more options, visit https://groups.google.com/d/optout.