Inserir dado de busca em outra tabela onde este dado é referenciado

16 views
Skip to first unread message

Érique Moreira

unread,
Oct 11, 2017, 9:48:11 AM10/11/17
to web2py-users-brazil
MODELS:

db.define_table('paciente',
                Field ('nome', 'string', label = 'Nome :'),
                Field ('dt_nasc', 'date', label = "Data de Nascimento :"),
                format = '%(nome)s' )

db.define_table('dentes',
                Field ('paciente', 'reference paciente', label = "Paciente :"),
                Field ('dente', 'string', label = 'Dente :' ),
                Field ('diagnostico', 'string', label = 'Diagnóstico :'),
                format = '%(dente)s')

db.paciente.dt_nasc.requires = IS_DATE(format = '%d/%m/%Y', error_message="Data Inválida Ex.: 27/07/1984")
db.dentes.dente.requires = IS_IN_SET(['18', '17', '16', '15', '14', '13', '12', '11', '21', '22', '23', '24', '25', '26', '27', '28', '38', '37', '36', '35', '34', '33', '32', '31', '41', '42', '43', '44', '45', '46', '47', '48'])
db.dentes.diagnostico.requires = IS_IN_SET(['Pulpite Fechada', 'Pulpite Aberta', 'Pulpite com zonas de necrose', 'Necrosepulpar', 'Periodontite Apical Crônica', 'Periodontite Apical Aguda', 'Periodontite Apical com Presença de Fístula'])


CONTROLERS:

def trat():
    grid = SQLFORM.grid(db.paciente,
        links= [ lambda row:A(T('Tratar'),_class="btn btn-warning", _href=URL("dente",user_signature=True,args=[row.id]))],
        deletable=False,
        editable=False,
        create=False,
        csv = False,  )
    return dict (grid=grid)

def dente():
    ??
    return dict()

* Ao buscar o paciente na função 'trat' e clicar em tratamento, gostaria que automaticamente fosse referenciado o paciente ao dente e ao diagnóstico. Ou seja no Field nome, da tabela dentes, que contém referência a tabela paciente, o paciente que eu busquei seja automaticamente inserido e eu possa apenas escolher o dente e o diagnóstico.

Carlos Costa

unread,
Oct 11, 2017, 10:09:12 AM10/11/17
to web2py-us...@googlegroups.com
Você está passando o id do paciente via args. Então pode usar isso de algumas formas.

def dente():
    db.dentes.paciente.default = request.args(0)
    form = SQLFORM(db.dentes).process()
    return dict(form=form)

--
Você recebeu essa mensagem por estar inscrito no grupo web2py-users-brazil.
Para enviar uma mensagem ao grupo, envie email a: web2py-users-brazil@googlegroups.com
Para se desinscrever, envie email a: web2py-users-brazil+unsub...@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-brazil+unsub...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.



--


Carlos J. Costa
Cientista da Computação  | BS Computer Science
Esp. Gestão em Telecom   |
PgC Telecom Mangement
<º))><
Reply all
Reply to author
Forward
0 new messages