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.

Reply via email to