I have many tables that share common attributes, so for convenience and ease of refactoring, I decided to define such common fields and then simply reference those fields when defining tables. For example:
namefield = Field("name")
db.define_table('table1', namefield)
db.define_table('table2', namefield)
This works correctly on 2.14.6 but somewhere along the way to version
2.15.4 something changed such that the above code yields the error "Field
table1.name is already bound to a table" This is probably due to upgrading to a new PyDAL version. It looks like I'll have to refactor to use table inheritance or the .clone() method. Just leaving this here in case others find the same error.