Hi,
I'm struggling to change a table's records ID representation when
using Crud.
(w2p Version 1.89.5 (2010-11-21 22:12:54))
def index1():
" List all blog posts "
db.blog_posts.title.represent = lambda _: 'replace title'
db.blog_posts.id.represent = lambda _: 'replace id'
posts = crud.select(
db.blog_posts,
fields=['id', 'title'])
return dict(posts=posts)
def index2():
" List all blog posts "
db.blog_posts.title.represent = lambda _: 'replace title'
db.blog_posts.id.represent = lambda _: 'replace id'
posts = crud.select(
db.blog_posts,
fields=['blog_posts.id', 'blog_posts.title']) # !!! field
names prefixed by tablename
return dict(posts=posts)
index1() doesn't change the representation at all. With index2() only
the title's representation is changed.
In both cases the id column displays the numeric id - However! with
index2() the id is a link whereas with index1() it is not.
I had the same problem a while back when crud.create still had a
'columns' parameter according to the w2p book (was it renamed to
'fields' recently?) but got it to work when I prefixed the field names
by the table name as I did here in index2().
Regards,
HC