you are asking to python to evaluate a variable that doesn't exists. It seems that you know the tablename and fields in advance (because dblabels_en is somewhat filled already) so why can't you just
tablename = 'test1' db.define_table(tablename, Field('foo', label=T(dblabels_en["%s_foo" % tablename]))) ? On Thursday, October 18, 2012 9:57:09 PM UTC+2, Richard wrote: > > Hello, > > Is it possible to do that? > db.define_table(... > Field(... > label=T(dblabels_en[db.table._tablename+db.table.field.name]) > > I can do > db.define_table(...) > db.table.field.lable=T(dblabels_en[db.table._tablename+db.table.field.name > ]) > > Inside table model definition "table" is not yet define then I can refer > to it. > > I try with lambda with no succes. > > Do you see a way to refer to the db.table._tablename in order to make it > execute only once that the model is defined? > > Thanks > > Richard > --