El martes, 26 de agosto de 2014 22:49:17 UTC+2, Anthony escribió: > > > > On Tuesday, August 26, 2014 3:13:35 PM UTC-4, José L. wrote: >> >> Hi, I'm using a custom form to represent the fields of a table. This >> table has referenced fields. >> If I use: >> db.define_table('department', >> Field('dept_id'), >> Field('nombre'),format='%(nombre)s') >> >> db.define_table('employee', >> Field('firstName'), >> Field('lastName'), >> Field('dept_id', db.department)) >> >> The table employee represents correctly the dept names. But if I do: >> >> >> db.define_table('employee', >> Field('firstName'), >> Field('lastName'), >> Field('dept_id', db.department), requires=IS_EMPTY_OR(IS_IN_DB(db, >> db.department.id, >> '%(nombre)s'))) >> > > I assume the above is a typo -- should be: > > Field('dept_id', db.department, requires=IS_EMPTY_OR(IS_IN_DB(db, db. > department.id, > '%(nombre)s')))) > > Yes, it was a typo.
> {{=form.custom.widget.dept_id}} shows the departament id instead of the >> name. >> I need to add the "IS_EMPTY_OR" condition, I've also tried adding >> notnull=False without success. >> > > Are you saying that in a create or update form, the select dropdown > includes a list of IDs rather than names, or that in a grid or read-only > form you see IDs rather than names? The former should not be the case, and > when I try it, I see a list of names. If the latter is the problem, that is > because you have not defined a "represent" attribute for the dept_id field > (if you explicitly specify a "requires" argument when defining a reference > field, you do not get the automatic "represent" attribute defined, so you > have to define that explicitly as well). > > Anthony > It was the latter case. It worked when using a create form but not with the view. I didn't know that requires removed the "representation", I can not recall reading that in the documentation either. Now it works perfectly in both cases adding the represent attribute to the field definition: represent = lambda id, row: db.department._format % db.department(id) Thanks very much for your help. José L. -- 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 web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.