Hello,

I have defined two tables related between each other, I have defined
a  SQLFORM.grid with this two tables and works ok, but when I try to
add a new button with the id parameter it fails, but when I use other
field like name works correctly.

db.define_table('course',
    Field('name','string',label=T('Course'), requires=IS_NOT_EMPTY(),
required=True, unique=True),
    Field('comments','text',label=T('Comments')))

db.define_table('subject',
    Field('course',db.course,label=T('Course')),
    Field('name','string', label=T('Subject'),
requires=IS_NOT_EMPTY(), required=True, unique=True),
    Field('groupsubject','string', label=T('Group')),
    Field('comments','text', label=T('Comments')))
db.subject.course.requires = IS_IN_DB(db,db.course.id,'%(name)s')


It is possible to use the id of one of these tables?

ok: links = [lambda row:
A(T('Details'),_href=URL("default","detailsubject",args=[row.subject.name]))]
not ok: links = [lambda row:
A(T('Details'),_href=URL("default","detailsubject",args=[row.subject.id]))]

---------------------------------------------------------
query = db.subject.course == db.course.id
fields =[db.course.name,
db.subject.name,db.subject.groupsubject,db.subject.comments]
links = [lambda row:
A(T('Details'),_href=URL("default","detailsubject",args=[row.subject.name]))]

form = SQLFORM.grid( query=query,  create=False, links = links,
searchable=True, user_signature=False, fields=fields,
deletable=False, editable=False, csv=True, maxtextlength=64,
paginate=20, details=False )

Thanks
Miguel

Reply via email to