[genropy] Re: Problema su tabella gerarchica

  • From: Giovanni Porcari <giovanni.porcari@xxxxxxxxx>
  • To: genropy@xxxxxxxxxxxxx
  • Date: Thu, 18 Feb 2016 21:52:03 +0100

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

Other related posts: