假設我已經通過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