0

I would like to know why my variables in web2py SQLFORM.factory have a no_table_[name] instead of the actual table name? Is there anything missing code.

e.g

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

1 に答える 1

1

SQLFORM.factoryダミーテーブルDALとともにダミーインスタンスを作成することで機能します。DALデフォルトでは、ダミー テーブル名は「no_table」ですが、table_name引数で変更できます。

テーブル全体を に渡すとSQLFORM.factory、単純にそれらのテーブルからフィールドが抽出されますが、HTML ウィジェットの ID を構築するときにテーブル名は保持されません (代わりに、ダミーのテーブル名を使用して ID を構築します)。One form for multiple tablesに関する本のセクションでは、これが次のように述べている理由です。

これは、テーブルに共通のフィールド名がない場合にのみ機能します。

両方のテーブルに同じ名前のフィールドがある場合、それらは同じ ID になります。

于 2013-02-25T13:57:35.333 に答える