First of all, thank you for your quick response. I already figure it out. That database was generated by the export to web2py tool from the online database design. I made a new one "by my hand" without the "online tool" following your tip and it worked! Thanks again and congratulations for your work!
On Feb 2, 8:31 pm, Massimo Di Pierro <[email protected]> wrote: > Can you show the complete traceback? > > You have some errors here (and following lines) which may be causing > it > > db.Consultorio.id_Utilizador.requires=IS_IN_DB(db, > 'Utilizador.id','Utilizador.nome','Utilizador.password','Utilizador.email') > > You are passing wrong types for the 4th and 5th arguments. > > Notice that ALL of your requires=IS_IN_DB are un-necessary. Simply set > the db.define_table(...format='...')) for all tables. > > On Feb 2, 1:37 pm, Mrekko <[email protected]> wrote: > > > Hi guys, > > > Im new in Python language and web2py framework and im recently trying > > to build an aplicattion in web2py. > > > I´ve created a database but i can´t acess the database administration > > panel, it gives me the following error: > > > <type 'exceptions.KeyError'>('Incentivo') > > > "Incentivo" is a table > > > Please help me, it´s not the first time these happened and i had to > > started all over! > > > My database code is the following: > > > db = DAL("sqlite://sibecbd.db") > > > """ > > Table definition > > """ > > db.define_table("Utilizador", > > Field("nome", "string", length=100, notnull=True, default=None), > > Field("password", "upload", notnull=True, default=None), > > Field("email", "string", notnull=True, default=None)) > > > """ > > Table definition > > """ > > db.define_table("Consultorio", > > Field("id_Utilizador", db.Utilizador), > > Field("id_Incentivo", db.Incentivo), > > Field("titulo", "string", length=250, notnull=True, > > default=None), > > Field("body", "text", notnull=True, default=None), > > Field("data", "date", notnull=True, default=None), > > Field("imagem", "upload", notnull=True, default=None), > > Field("pdf", "upload", notnull=True, default=None)) > > > """ > > Table definition > > """ > > db.define_table("Incentivo", > > Field("titulo", "string", length=300, notnull=True, > > default=None), > > Field("body", "text", notnull=True, default=None), > > Field("data_inicio", "date", default=None), > > Field("data_fim", "date", default=None), > > Field("imagem", "upload", notnull=True, default=None), > > Field("site_oficial", "string", length=300, default=None)) > > > """ > > Table definition > > """ > > db.define_table("Destaque", > > Field("id_Utilizador", db.Utilizador), > > Field("titulo", "string", length=300, notnull=True, > > default=None), > > Field("body", "text", notnull=True, default=None), > > Field("data", "date", notnull=True, default=None), > > Field("imagem", "upload", notnull=True, default=None), > > Field("fonte", "string", notnull=True, default=None)) > > > """ > > Table definition > > """ > > db.define_table("Contacto", > > Field("id_Empresa", db.Empresa), > > Field("id_Distrito", db.Distrito), > > Field("id_Concelho", db.Concelho), > > Field("id_Freguesia", db.Freguesia), > > Field("nome_primeiro", "string", length=100, notnull=True, > > default=None), > > Field("nome_ultimo", "string", default=None), > > Field("telemovel", "integer", default=None), > > Field("telefone", "integer", default=None), > > Field("fax", "integer", default=None), > > Field("email", "string", default=None), > > Field("obs", "text", default=None)) > > > """ > > Table definition > > """ > > db.define_table("Empresa", > > Field("id_Distrito", db.Distrito), > > Field("id_Concelho", db.Concelho), > > Field("id_Freguesia", db.Freguesia), > > Field("id_Ramo", db.Ramo), > > Field("nome", "string", notnull=True, default=None), > > Field("email", "string", default=None), > > Field("telefone", "integer", default=None), > > Field("fax", "integer", default=None), > > Field("obs", "string", default=None)) > > > """ > > Table definition > > """ > > db.define_table("Distrito", > > Field("nome", "string", notnull=True, default=None)) > > > """ > > Table definition > > """ > > db.define_table("Concelho", > > Field("id_Distrito", db.Distrito), > > Field("nome", "string", notnull=True, default=None)) > > > """ > > Table definition > > """ > > db.define_table("Freguesia", > > Field("id_Concelho", db.Concelho), > > Field("nome", "string", notnull=True, default=None)) > > > """ > > Table definition > > """ > > db.define_table("Ramo", > > Field("nome", "string", notnull=True, default=None)) > > > """ > > Table definition > > """ > > db.define_table("Form", > > Field("id_Distrito", db.Distrito), > > Field("id_Assunto", db.Assunto), > > Field("Nome", "string", default=None), > > Field("empresa", "string", default=None), > > Field("body", "text", notnull=True, default=None), > > Field("email", "string", default=None), > > Field("telefone", "integer", default=None), > > Field("emailsibec", "string", notnull=True, default=None)) > > > """ > > Table definition > > """ > > db.define_table("Assunto", > > Field("assunto", "integer", notnull=True, default=None)) > > > """ > > Relations between tables (remove fields you don't need from requires) > > """ > > db.Consultorio.id_Utilizador.requires=IS_IN_DB(db, > > 'Utilizador.id','Utilizador.nome','Utilizador.password','Utilizador.email') > > db.Consultorio.id_Incentivo.requires=IS_IN_DB(db, > > 'Incentivo.id','Incentivo.titulo','Incentivo.body','Incentivo.data_inicio', > > 'Incentivo.data_fim','Incentivo.imagem','Incentivo.site_oficial') > > db.Destaque.id_Utilizador.requires=IS_IN_DB(db, > > 'Utilizador.id','Utilizador.nome','Utilizador.password','Utilizador.email') > > db.Contacto.id_Empresa.requires=IS_IN_DB(db, > > 'Empresa.id','Empresa.id_Distrito','Empresa.id_Concelho','Empresa.id_Fregue > > sia','Empresa.id_Ramo','Empresa.nome','Empresa.email','Empresa.telefone','E > > mpresa.fax','Empresa.obs') > > db.Contacto.id_Distrito.requires=IS_IN_DB(db, > > 'Distrito.id','Distrito.nome') > > db.Contacto.id_Concelho.requires=IS_IN_DB(db, > > 'Concelho.id','Concelho.id_Distrito','Concelho.nome') > > db.Contacto.id_Freguesia.requires=IS_IN_DB(db, > > 'Freguesia.id','Freguesia.id_Concelho','Freguesia.nome') > > db.Empresa.id_Distrito.requires=IS_IN_DB(db, > > 'Distrito.id','Distrito.nome') > > db.Empresa.id_Concelho.requires=IS_IN_DB(db, > > 'Concelho.id','Concelho.id_Distrito','Concelho.nome') > > db.Empresa.id_Freguesia.requires=IS_IN_DB(db, > > 'Freguesia.id','Freguesia.id_Concelho','Freguesia.nome') > > db.Empresa.id_Ramo.requires=IS_IN_DB(db, 'Ramo.id','Ramo.nome') > > db.Concelho.id_Distrito.requires=IS_IN_DB(db, > > 'Distrito.id','Distrito.nome') > > db.Freguesia.id_Concelho.requires=IS_IN_DB(db, > > 'Concelho.id','Concelho.id_Distrito','Concelho.nome') > > db.Form.id_Distrito.requires=IS_IN_DB(db, > > 'Distrito.id','Distrito.nome') > > db.Form.id_Assunto.requires=IS_IN_DB(db, > > 'Assunto.id','Assunto.assunto') > >

