假设我已经通过db.define_table('xyz'..)
定义了表xyz,我可以引用为db.xzy,那么如何向此已定义的表对象添加新字段?如何将字段添加到web2py中已定义的表中?
我正在考虑的用例是我想为几个表添加一个created
字段。我也想避免重复自己。我的想法是创建一个函数,它将一张表格添加到created
字段中。因此,例如:
def addcreated(table):
# ??? somehow add a new Field('created', 'datetime') to table
table.created.writable = False
table._before_insert.append...
... etc.
db.define_table('product',
Field('name','string'),
Field('weight','double')
)
db.define_table('customer',
Field('name','string'),
Field('address','string')
)
addcreated(db.product)
addcreated(db.customer)
'clone()'还可以与Table对象一起使用还是只能使用单个字段? – User
'.clone()'是Field类的一个方法。 “Table”类没有任何相似之处。 – Anthony
你也可以使用'* args'定义字段。您可以创建一个Field对象列表,并执行此操作:db.define_table('product',* fields)'。 – omar