OK, that makes sense. I guess there's no good way to make that lazy at the Field level.
Thanks. Anthony On Thursday, August 23, 2012 4:10:23 PM UTC-4, Massimo Di Pierro wrote: > > Here is an example: > > Say you have > > db.define_table('person',Field('name')) > db.person.name.requires=IS_IN_SET(build_set()) > > where build_set is computationally expensive. You only want to create the > set if you actually need the table. You can move it in the controller > action but does it belong there? Now you can do: > > def set_requirements(person): person.name.requires=IS_IN_SET(build_set()) > db.define_table('person',Field('name'),on_define=set_requirements) > > Notice that this does not call build_set() until the table is actually > defined, moreover is does use the notation db.person and therefore does not > force table instantiation. > > > > > > > > > > > On Thursday, 23 August 2012 13:22:34 UTC-5, Anthony wrote: >> >> I'd also still be interested to see a real-world example of where this >>>> would be useful. >>>> >>>> Anthony >>>> >>> >>> Someone posted an example of GAE CPU Cycles, with class based Lazy >>> Tables it lower to half cycles. Also there is another user in the group >>> which has a huge traffic, so Lazy tables might be useful. >>> >> >> No, I meant an example of where the new on_delete argument would be >> useful. >> >> Anthony >> > --