Have the solution: Dynamic Fields:
list = ["a","b","c","d"]
fields = []
for entry in list:
fields += [Field(entry, type="string")]
db.define_table('test', *fields)
Dynamic virtual Fields:
class MyVirtualFields(object):
pass
for entry in list:
def func(self):
return getattr(self.test, entry)
setattr(MyVirtualFields, entry + "_virtual", func)
db.test.virtualfields.append(MyVirtualFields())
Wasn't that hard. Sorry for not finding it myself earlier.

