Given this table...
translator_format = lambda row: row.custom_name if (row.custom_name and
row.custom_name.strip()) else "%s -> %s" %(
db.notation(row.source_notation_id).notation_name,
db.notation(row.target_notation_id).notation_name)
db.define_table("translator",
# A name for the translator is not required. If the custom name is
empty, the name will be computed
# from the notation names
Field("custom_name", "string", length=512,
),
Field.Virtual("translator_name",
translator_format),
# ...
format = translator_format,
)
... I'm trying to define this form:
form = SQLFORM.factory(
Field("translator_id", "reference translator",
label=T("Translator"),
requires = IS_IN_DB(
db(translator_query), db.translator.id,
translator_chooser_representation,
zero=None, sort=False),
),
# ...
)
Now, within the format function, i cannot access the virtual field of the
row:
def translator_chooser_representation(r):
return "%s" %(r.translator_name) ## This I'd like to use but it
doesn't work
return db.translator._format(r) ## This works, but I'd like the actual
result to be different from the format
Am I doing something wrong?
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.