[genropy] Re: Errore in batchUpdate

  • From: Giovanni Porcari <giovanni.porcari@xxxxxxxxx>
  • To: genropy@xxxxxxxxxxxxx
  • Date: Wed, 22 Mar 2017 19:01:56 +0100


Il giorno 22 mar 2017, alle ore 18:55, Luigi Renna <luigi@xxxxxxxxxxxxx> ha 
scritto:

No, non voglio fare nessuna elaborazione sulle colonne virtuali io faccio 
quel semplice batchUpdate, la colonna virtuale la prende lui in automatico, 
infatti se vado nella definizione della tabella e metto come caption_field 
una colonna reale (tipo il cognome) non dà l'errore.



No, le colonne non vengono 'elaborate'.  
Il default del parametro columns è '*'e, anche set tu vuoi scrivere solo il 
campo 'abilitato' a False,
lui di fatto legge tutte le colonne reali. Se però nel termometro serve una 
colonna in più,
al solo fine di visualizzarla, allora basta mettere il parametro columns come 
ti dicevo.


Ciao

G


Il 22/03/2017 18:48, Giovanni Porcari ha scritto:
Il giorno 22 mar 2017, alle ore 18:21, Luigi Renna <luigi@xxxxxxxxxxxxx> ha 
scritto:

quando eseguo un batchUpdate (all'interno di una procedura batch) tipo:

self.batchUpdate(dict(abilitato=False), table='presenze.anagrafica', 
where='$id' IS NOT NULL)

e lui comincia l'esecuzione se nella definizione della tabella è presente 
come caption_field un campo dato da un formulaColumn da un errore di key 
error, penso che dipenda da quello che la procedura vuole visualizzare nel 
termometro, suppongo il caption field della tabella.

       tbl = pkg.table('anagrafica', pkey='id', name_long='Anagrafica',
                       name_plural='Anagrafiche', 
caption_field='cognome_nome',
                       partition_zona_id='zona_id')

       tbl.formulaColumn('cognome_nome', "$cognome ||' '||$nome", 
name_long='Nominativo', name_short='Nominativo')


Il 22/03/2017 17:55, Giovanni Porcari ha scritto:
Il giorno 22 mar 2017, alle ore 17:54, Luigi Renna <luigi@xxxxxxxxxxxxx> 
ha scritto:

Se si esegue il batchUpdate ed il caption_field di una table è un 
formulaColumn da un errore di key error sul campo del formulaColumn.

Ciao luigi
Puoi darmi qualche info di più ?



G




Si. Dipende da quello.

Nella batchUpdate di default vengono prese tutte le colonne reali.
Quellòe virtualio che dovessero servire (per qualsiasi ragione)
le devi chiedere esplicitamente col parametro columns:

self.batchUpdate(columns='*,$cognome_nome',dict(abilitato=False), 
table='presenze.anagrafica', where='$id' IS NOT NULL)

Ciao

G




Giovanni Porcari
giovanni.porcari@xxxxxxxxx




Other related posts: