Maybe I dreamt it but it seems to me that there was a way to define a field like another field except for the name and label but I can't recall how it was done.
It would be similar to table inheritance: http://web2py.com/book/default/chapter/06#Self-Reference-and-Aliases but at a field level. Uses? Field templating where common field definitions are used as standard components of tables in a somewhat reverse way (define fields before tables): Field('name','string',length=20,requires=IS_NOT_EMPTY()) db.define_table('person', as('name','firstname'), as('name', 'lastname'), ...) so firstname and lastname would be non-null strings of len 20 Maybe it is not a good idea but I want to hear your opinions. Denes.