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_Freguesia','Empresa.id_Ramo','Empresa.nome','Empresa.email','Empresa.telefone','Empresa.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')

Reply via email to