Hi,
I'm trying to set up a controler with a form that reproduce some fields of a db table I have in my models because I want to mix information that goes in db table with other fields I need. The problem is when I try to reproduce a field (the last one here under) that is an external reference with this code:

def import_from_db():
    form2 = SQLFORM.factory(
Field('nome_tabella', length=32, requires = IS_IN_SET(dbutils.getTables(pgdb))),
        Field('colonna_asse', length=32,
requires = IS_EMPTY_OR(IS_IN_SET(dbutils.getAllColumns(pgdb_th2, session.nome_tabella)))
        ),
Field('grandezza', 'integer', required=True, requires = IS_EMPTY_OR(IS_IN_DB(pgdb_th2, 'grandezze.id', '%(id)s %(nome)s')))
)

adding this field when I try to view the form web2py gave me this error:

InternalError: current transaction is aborted, commands ignored until end of transaction block

the same code used inside my model definition (reported here under) works just fine rendering the table form through db administration interface.

pgdb_th2.define_table('dati',
    Field('asse', pgdb_th2.assi, required=True),
    Field('grandezza', pgdb_th2.grandezze, required=True),
    Field('valore', 'double', required=True),
    Field('aggiornamento', 'date', default=None),
    Field('scadenza', 'date', default=None),
    Field('alt_take', 'integer', length=1, default=0),
)

pgdb_th2.dati.asse.requires = IS_EMPTY_OR(IS_IN_DB(pgdb_th2, 'assi.id', '%(id)s')) pgdb_th2.dati.grandezza.requires = IS_EMPTY_OR(IS_IN_DB(pgdb_th2, 'grandezze.id', '%(id)s %(nome)s'))

Any idea about it?

Thank you very much

        Manuele

Reply via email to