On 18 Aug 2012, at 1:46 PM, Massimo Di Pierro <[email protected]> wrote: > As Bruno says. Something like this will completely nullify the benefit of > lazy tables. > > Field(..., readable=True) is OK but > db.table.field.readable=True is BAD because will force db.table to be > instantiated. >
Here's a vague idea: suppose define_table had a requirements parameter, defaulting to None, that could be set to a function (lambda or otherwise) that would be called after the table is instantiated? Then you'd still be able to pull your dynamic requirements into one place, but without triggering define-time instantiation. For convenience, the function would be called for any instantiation, even a non-lazy one, so one could turn lazy instantiation on & off for testing without changing it. --

