How do I use a Virtual Field in a grid?
I am getting the error:
Query Not Supported: 'Row' object has no attribute 'ut
when I use the following code:
def art_skrywers(ut):
return '\n'.join([x.au for x in db(db.rauthors.rart_id == ut).select(db.
rauthors.au)])
@auth.requires_login()
def isi_articles():
fields = [db.rarticle.ut, db.rarticle.ti,
db.rjoernaal.so, db.rjoern_uitgawe.py]
query = ((db.rarticle.ui == db.rjoern_uitgawe.ui) &
(db.rjoern_uitgawe.rj_id == db.rjoernaal.uuid))
db.rarticle.skrywers = Field.Virtual(lambda row: art_skrywers(row.ut))
links = [db.rarticle.skrywers]
data = SQLFORM.grid(query, fields = fields, links=links)
return dict(data=data)
The model includes 'ut'. Here is part of the model:
db.define_table('rarticle',
Field('ut', length=15), #artikle-id
Regards
Johann
--