I have the same problème and in that poste : 
https://groups.google.com/forum/?fromgroups#!topic/web2py/RmdCe7xp5gM[1-25] 
it say that it's possible to do so but in my test application it's not.
As you say on insertion the id is not avaaillable yet and that is the 
raison I think.

If somme body have a solution, please give as a sample of code.

On Monday, August 6, 2012 12:14:52 AM UTC, Rob_McC wrote:
>
>
> . I created a simple app, with only this in it,
> . I can get computed field to work , but never referencing the id field.
>
> I think the trouble is that 'id' is never updated, so it is not available 
> for compute= .
> I don't think I can do this when the record is first created, since an 
> 'id' has not been assigned.
>
> I want to eventually add another field that depends on 'id' that is why 
> I'm doing this.
>
> I could use a virtual field I think...
>
> Thanks 
> Rob
>
>
>
>
>
> ## after auth = Auth(db)
> auth.settings.extra_fields['auth_user']= [
>   Field('address'),
>   Field('city'),
>   Field('zip'),
>   Field('phone'),
>   Field('ref_number', compute=lambda r: r['city'])]
>
>
> # this WORKS
> #  Field('ref_number', compute=lambda r: r['city'])]
>
>
> # this DOES NOT WORK
> #   Field('ref_number', compute=lambda r: r['id'])]
> #   Field('ref_number', 'integer', compute=lambda r: r['id'])]  
>
>
> # before auth.define_tables(username=True)
>
>
> ## create all tables needed by auth if not custom tables
> auth.define_tables()
>
>

-- 



Reply via email to