【发布时间】:2015-12-16 14:32:03
【问题描述】:
我已经在控制器中定义了计数器变量。
我可以动态定义表格和字段。
tables = [db.define_table('example_table_%s' % x,
Field('example_field_%s' % x, type='string', ...)
...
)
for x in range(0, counter+1)]
我可以将已定义的表添加到 SQLFORM。
form = SQLFORM.factory(
db.table_1,
db.table_2,
*tables,
submit_button='Submit')
如果计数器值为“2”,我可以手动控制进程。
if form.process.accepted():
id = db.table_1.insert(**db.table_1._filter_fields(form.vars))
form.vars.table_1_field = id
id = db.table_2.insert(**db.table_2._filter_fields(form.vars))
#'0'
form.vars.table_2_field = form.vars.example_field_0
id = db.table_2.insert(**db.table_2._filter_fields(form.vars))
#'1'
form.vars.table_2_field = form.vars.example_field_1
id = db.table_2.insert(**db.table_2._filter_fields(form.vars))
#'2'
form.vars.table_2_field = form.vars.example_field_2
id = db.table_2.insert(**db.table_2._filter_fields(form.vars))
以上代码适用于我的应用程序。
如何动态执行#'0'、#'1'和#'2'步骤?
【问题讨论】:
-
意见:使用 mongodb 离开表!