如何在web2py中将动态创建的表添加到SQLFORM

时间:2015-12-13 20:44:03

标签: python forms web2py

我在控制器中定义了counter和dict变量。

我可以动态定义表。

for x in range(0,counter+1):
    dict['%s' % x] = db.define_table('example_table_%s' % x,
        Field('example_field', type='string', ...)
        ...
        )

当计数器值为“2”时,我可以手动添加所有创建的表。

form = SQLFORM.factory(
    db.some_table,
    db.another_table,
    dict['0'],
    dict['1'],
    dict['2'],
    submit_button='Submit')

如何将所有创建的表动态添加到SQLFORM?

1 个答案:

答案 0 :(得分:0)

似乎没有任何字典需要。把表放在一个列表中。

tables = [db.define_table('example_table_%s' % x,
                          Field('example_field', type='string', ...)
                          ...
                          )
          for x in range(0, counter+1)]

form = SQLFORM.factory(*tables)