SQLFORM - Campo tipo select

12 views
Skip to first unread message

Alex Juchem

unread,
May 11, 2016, 9:30:10 PM5/11/16
to web2py-us...@googlegroups.com
Tenho a seguinte estrutura de banco:

 
# Categorias
db.define_table('categoria',
    Field('name', 'string', label='Nome', widget = lambda field, value:
        SQLFORM.widgets.string.widget(field, value, _class=' inputToSlug form-control')),
    Field('slug', 'string', label='Slug', widget = lambda field, value:
        SQLFORM.widgets.string.widget(field, value, _class=' inputSlug form-control')),)

# Sites
db.define_table('site',
    Field('name', 'string', label='Nome', widget = lambda field, value:
        SQLFORM.widgets.string.widget(field, value, _class=' inputToSlug form-control')),
    Field('slug', 'string', label='Slug', widget = lambda field, value:
        SQLFORM.widgets.string.widget(field, value, _class=' inputSlug form-control')),
    Field('url', 'string', label='Endereço Web', widget = lambda field, value:
        SQLFORM.widgets.string.widget(field, value, _class=' form-control')),
    Field('description', 'text', label='Descrição', widget = lambda field, value:
        SQLFORM.widgets.string.widget(field, value, _class=' form-control')),
    Field('id_categoria', db.categoria, label='Categoria'),)



Como faço para o campo db.site.id_categoria ser um select com os valores vindos de db.categoria ?

Abraços.


--
<?= ((('1 cachorro' + '1 gato') == '2 mamíferos') ? 'Verdadeiro' : 'Falso');

Alex Juchem

unread,
May 11, 2016, 9:38:02 PM5/11/16
to web2py-us...@googlegroups.com
Acabei fazendo dessa forma:
db.site.id_categoria.requires=IS_IN_DB(db,'categoria.id','%(name)s')

Deu certo, alguém pode me falar se essa é maneira correta?

Carlos Costa

unread,
May 12, 2016, 3:32:48 AM5/12/16
to web2py-us...@googlegroups.com

É isso mesmo.
E você também tem a opção de passar isso como parâmetro no construtor.

--
Você recebeu essa mensagem por estar inscrito no grupo web2py-users-brazil.
Para enviar uma mensagem ao grupo, envie email a: web2py-us...@googlegroups.com
Para se desinscrever, envie email a: web2py-users-br...@googlegroups.com
Para mais opções, visite o site do grupo em: http://groups.google.com/group/web2py-users-brazil?hl=en
---
Você recebeu essa mensagem porque está inscrito no grupo "web2py-users-brazil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para web2py-users-br...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages