Hi, from validators.py:
342 class IS_IN_DB(Validator): 343 """ 344 example:: 345 346 INPUT(_type='text', _name='name', 347 requires=IS_IN_DB(db, db.table, zero='')) 348 349 used for reference fields, rendered as a dropbox 350 """ But I can't use the documented syntax: IS_IN_DB(db, db.table). I had to use explicit db.table.id as argument. It looks like the current code (1.91.6) does not accept a table as argument. Apparently, it cannot figure out that when you specify a table instead of a field it should use the table's id field. It relies on the field representation as string to extract the field name, splitting it by dots, as shows line 371 from the class' constructor: 370 self.field = field 371 (ktable, kfield) = str(self.field).split('.') Wouldn't be better to test the argument with something like isinstance() first? Sorry if I misunderstood something, but I think that if this is not a bug, then the documentation should be updated. I also didn't check the code for IS_NOT_IN_DB(), but I guess this class may have the same issue. Regards, Fabiano.