Il giorno 30 set 2016, alle ore 16:34, Luigi Renna <luigi@xxxxxxxxxxxxx> ha
scritto:
Il 29/09/2016 18:40, Giovanni Porcari ha scritto:
Ultima nota : se il socio è già registrato per l'assemblea dovresti impedireGrazie, funziona tutto tranne questa fb.dbselect, debbo ancora provare il
un doppio caricamento.
Per farlo potresti mettere alla dbselect della scelta socio una condition:
fb.dbselect(value='^.socio', dbtable='test.soci',
lbl='Socio', rowcaption='$denominazione',
selected_id='.codice_socio',
auxColumns='$denominazione,$codsocio', colspan=2,
width='100%'
condition="@presenza_socio.idassemblea!=:assemblea",
condition_assemblea='^.assemblea')
Per farlo devi aver messo come relation_name tra socio e presenza
'presenza_socio'.
Se hai dei dubbi o se non va fammi sapere.
plainTableHandler, io avevo gia una relazione tra presenze e soci,
class Table(object):
def config_db(self,pkg):
tbl =
pkg.table('presenze',pkey='id',caption_field='idsocio',name_long='presenze',name_plural='presenze')
self.sysFields(tbl)
tbl.column('delegato',size='1',name_long='delegato')
tbl.column('datacarico',dtype='DH',name_long='data carico')
tbl.column('idassemblea',size='22',name_long='idassemblea').relation('assemblea.id',relation_name='presenze_assemblea',
mode='foreignkey', onDelete='cascade')
tbl.column('idsocio',size='22',name_long='idsocio').relation('soci.id',relation_name='presenze_soci',
mode='foreignkey', onDelete='cascade')
ma utilizzando questa relazione mi da l'errore: Error code GNR-001 : Missing
field @presenze_socio in table test.soci (requested field )
In che modo caso mai posso mettere la relazione nel campo ID nel model? Posso
relazionare lo stesso campo a più tabelle e se si come?
Grazie
tbl.column('assemblea_id',size='22',name_long='assembleaId').relation('assemblea.id',relation_name='presenze_assemblea',
mode='foreignkey', onDelete='cascade')
tbl.column('socio_id',size='22',name_long='socioId').relation('socio.id',relation_name='presenze_socio',
mode='foreignkey', onDelete='cascade')