You just need to specify the format. It will make for you both
validator and represent attribute.

#model
db.define_table("food",
    Field("desc", "string"),
    format='%(desc)s'
)

db.define_table("ate",
    Field("food_id", db.food)
)

#controller
form=crud.update(db.ate,ate_id)

On Apr 1, 2:22 pm, Avik Basu <[email protected]> wrote:
> Hi,
> As I understand, when crud.update(...) creates a form it pulls the
> values of a given record into the form as a string.  If the field is a
> reference to another table, then this shows up as a number.  I would
> like to instead show the name of the record instead of the id. I have
> a represent function set in the data model, but that is only used on
> crud.select().
>
> So, my question is how can I get the crud.update(...) form to render
> the record values with according to the represent function specified
> by the represent function of the field.  Code below:
>
> #model
> db.define_table("food",
>     Field("desc", "string",)
> )
>
> db.define_table("ate",
>     Field("food_id", db.food,
>         represent=lambda x: db(db.food.id==x).select().first().desc
>     )
> )
>
> #controller
> form=crud.update(db.ate,ate_id)
>
> Thanks,
> Avik

-- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en.

Reply via email to