With that statement ("""if you don't understand the code, try it""") I meant that you can always check a functionality testing it before loosing your mind on the code.
All the "magic" is done by: gluon/dal.py (validate_and_insert()) ... for key,value in fields.items(): value,error = self[key].validate(value) if error: response.errors[key] = error ... the "validate()" method on the field calls the validators, defined into gluon/validators.py and "associated" by table definitions (db.define_table) or field requirements (Field('a', *requires=....*)). >>> print db.tests.uniquefield.requires [<gluon.validators.IS_NOT_IN_DB object at 0x32404d0>, <gluon.validators.IS_LENGTH object at 0x3240490>] A unique field gets a IS_IN_DB validator in order to check before inserting the record (otherwise the commit() would raise an exception at the database level. Unfortunately, there is no universal way to tell WHICH field failed (and why) when you blindly insert a record, and you should wait for the commit() to raise that exception, so you'll lose "multiple" inserts with their properly related errors). Some definitions (like the "unique" one) defaults to a "hidden" requires to your ones (as documented in the book http://web2py.com/books/default/chapter/29/6#Record-representation). Datetime fields, for example, are checked with a IS_DATETIME() validator, reference with a IS_IN_DB(), etc. etc. etc. This is done into the sqlhtml_validators() function in gluon/dal.py. You can find there that a unique Field gets a IS_IN_DB() validator by default ... if field.unique: requires._and = validators.IS_NOT_IN_DB(field.db,field) ... PS: all code excerpts are from the trunk version. May be a little different from your web2py version, but this is sort of an "introduction" on where to find answers to your questions. --