[genropy] Re: Problema su tabella gerarchica

  • From: Silvano Valleferro <s.valleferro@xxxxxxxxxxx>
  • To: genropy <genropy@xxxxxxxxxxxxx>
  • Date: Fri, 19 Feb 2016 11:13:24 +0100 (CET)

----- Il 18-feb-16, alle 21:52, Giovanni Porcari <giovanni.porcari@xxxxxxxxx> 
ha scritto: 

| Ti rispondo da Iphone avendo visto poco. Mi pare che tu abbia una colonna
| 'credenziale'. E dall'errore che segnali pare ci sia anche una relazione o
| relatin_name 'credenziale'. Priva a vedere se è cosí e fammi sapere.

| Ciao

| G

| Il giorno 18 feb 2016, alle ore 21:28, Silvano Valleferro <
| s.valleferro@xxxxxxxxxxx > ha scritto:

|| Ciao a tutti,

|| Ho un problema su una tabella gerarchica che non riesco a risolvere.
|| Accedendo in genropy alla tabella segnala il seguente errore:

|| WebError Traceback:
|| ? AssertionError: relation None does not exist in table @credenziale.nome
|| View as: Interactive | Text | XML (full)
|| URL: http://127.0.0.1:8080/sys/thpage/crm/tipo_impianto
|| Module weberror.evalexception:431 in respond view
|| ......

|| Module gnr.sql.gnrsqlmodel:943 in column

|| col None
|| colalias None
|| name '@credenziale.nome'
|| relcol None
|| self <gnr.sql.gnrsqlmodel.DbTableObj object at 0xb49d0b2c>
|| view
||>> assert relcol is not None, 'relation %s does not exist in table %s'
|| >> %(relcol,name)
|| AssertionError: relation None does not exist in table @credenziale.nome

|| Ho controllato e ricontrollato la struttura del modello della tabella che è 
il
|| seguente:

|| class Table(object):
|| def config_db(self, pkg):
|| tbl = pkg.table('tipo_impianto', pkey='id', name_long='!![it]Tipo Impianto',
|| name_plural='!![it]Tipi Impianto', caption_field='hierarchical_descrizione')
|| self.sysFields(tbl,hierarchical='descrizione',counter=True,df=True)
|| tbl.column('descrizione' ,size=':50',name_long='!![it]Descrizione')

|| e della tabella impianto che viene richiamata in un tablehandler nella pagina

|| class Table(object):
|| def config_db(self,pkg):
|| tbl =
|| 
pkg.table('impianto',pkey='id',name_long='!![it]Impianti',name_plural='!![it]Impianti',caption_field='nome')
|| self.sysFields(tbl)
|| tbl.column('idclifor' 
,size=':10',name_long='!![it]Cliente',name_short='Cli.',
|| 
validate_notnull=True).relation('clifor.idclifor',relation_name='cliimpianto',
|| onDelete='raise')
|| tbl.column('data_creazione',dtype='D',name_long='!![it]Data
|| Creazione',name_short='!![it]D.Cre.')
|| tbl.column('nome',size=':60',name_long='!![it]Nome
|| Impianto',name_short='!![it]Nome', validate_notnull=True)
|| tbl.column('tipo',size=':22',name_long='!![it]Tipo Impianto' ,
|| 
name_short='!![it]Ti.Imp.').relation('tipo_impianto.id',relation_name='impianto',
|| onDelete='raise')
|| 
tbl.column('destinazione',size=':15',name_long='!![it]Destinazione',name_short='!![it]Dst.')
|| 
tbl.column('descrizione',name_long='!![it]Descrizione',name_short='!![it]Desc.')
|| 
tbl.column('matricola',size=':50',name_long='!![it]Matricola',name_short='!![it]Matr.')
|| tbl.column('sis_operativo',size=':22',name_long='!![it]Sistema
|| 
Operativo',name_short='!![it]S.O.').relation('sis_operativo.id',relation_name='impianto',
|| onDelete='raise')
|| tbl.column('firmware',name_long='!![it]Versione
|| Firmware',name_short='!![it]Frmw.')
|| tbl.column('data_inatallazione',dtype='D',name_long='!![it]Data
|| Installazione',name_short='!![it]D.Ins.')
|| tbl.column('ipinterno',size=':50',name_long='!![it]IP
|| Interno',name_short='!![it]IP I.')
|| tbl.column('ipesterno',size=':50',name_long='!![it]IP
|| Esterno',name_short='!![it]IP E.')
|| tbl.column('note',name_long='!![it]Note',name_short='!![it]Note')
|| tbl.column('utilizzo_mach9',dtype='B',name_long='!![it]Utilizza
|| Mach9',name_short='!![it]Mach9')
|| tbl.column('pcmach9',size=':50',name_long='!![it]PC 
Mach9',name_short='!![it]PC
|| Mach9')
|| 
tbl.column('versionemach9',size=':50',name_long='!![it]Versione',name_short='!![it]Ver.')
|| tbl.column('ipmach9',size=':50',name_long='!![it]IP 
Mach9',name_short='!![it]IP
|| Mach9')
|| tbl.column('credenziale',size=':50',name_long='!![it]Credenziali
|| Mach9',name_short='!![it]Cred. M.')
|| tbl.column('notemach9',name_long='!![it]Note',name_short='!![it]Note')
|| il campo credenziale non ha nessuna relazione con nessuna tabella.

|| Ho provato a cancellare e rifare il DB ma con lo stesso risultato, dà sempre
|| errore.

|| Non riesco proprio a capire perchè segnala quell'errore.

|| Avete qualche idea sulla causa ?

|| Ciao e grazie

|| Silvano Valleferro

Trovato il problema e risolto. 

Avevo aggiunto nella tabella impianto un campo con nome "credenziale" che è lo 
stesso nome di una relazione. Evidentemente questo gli dà fastidio. 
Rinominato diversamente quel campo tutto è ritornato a posto. 

Grazie 
Ciao 

Silvano Valleferro 

Other related posts: