On Sun, Jan 3, 2010 at 4:01 PM, Miguel Lopes <mig.e.lo...@gmail.com> wrote:
> I have:
>
> form=crud.update(db.contact,contact)
>
> which raises an exception due to the model having writable=False on a 
> relation:
>
> db.define_table('contact',
>    ...
>    Field('account_id',db.account,writable=False),
>    ...
> )
>
> Is this correct?
> How can I use crud without allowing for the relation to be edited.

Ok. Found the solution:
just set a representation for the field, before creating the form:

db.contact.account_id.represent=lambda id: SPAN(db.contact[id].account_id.name)
form=crud.update(db.contact,contact)

What set me off is that non-foreign key fields do not need this. They
just render as labels if they are set as writable=False.

Miguel

--

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


Reply via email to