2013-02-25 23 views
0

我想知道爲什麼我的web2py SQLFORM.factory中的變量有一個no_table_ [name]而不是實際的表名?有什麼缺少代碼嗎?web2py SQLFORM.factory no_table

e.g

form = SQLFORM.factory(db.event, db.event_permissions, record=record, fields=fields, submit_button='Edit Event Master') 

回答

1

SQLFORM.factory作品與虛擬DAL表一起創建一個虛擬DAL實例。默認情況下,虛擬表名是「no_table」,但您可以通過參數table_name更改該名稱。

當您將整個表格傳遞到SQLFORM.factory時,它只是從這些表格中提取字段,但在構建HTML小部件標識符時不會保留表格名稱(而只是使用表格名稱來構造標識符) 。在上One form for multiple tables書部分,這就是爲什麼它說:

這僅適用於當表不具有共同的字段名。

如果您在兩個表中都有相同名稱的字段,它們將以相同的ID結束。