The fact is, you can do both. If you want the values to be evaluated
on insert, just do

Field(...,default=lambda: f())

instead of

Field(...,default=f())

If you want lazy evaluation you have to be explicit.

On Jan 27, 4:51 pm, Vinicius Assef <vinicius...@gmail.com> wrote:
> On Thu, Jan 27, 2011 at 3:54 PM, Bernd Rothert <roth...@googlemail.com> wrote:
>
> > Multiple inserts for the same request should get unique uuids of
> > course, so we need a function here.
>
> I faced this problem some time ago.
>
> Default values defined in models are not assigned in INSERT time, but
> in REQUEST time.
>
> So, if you have a loop with insert inside it, all records will have
> the same default values.
>
> This is a web2py feature, in spite my thought explained that time that
> it should be different. When you talk about database, default values
> should be evaluated as in SQL INSERT: in insert time.
>
> --
> Vinicius Assef.

Reply via email to