【问题标题】:web2py update on multiple tables with SQLFORM使用 SQLFORM 对多个表进行 web2py 更新
【发布时间】:2013-08-13 06:39:23
【问题描述】:

我想知道是否可以使用以下方法创建表单:

record = request.args(0)
form = SQLFORM.factory(db.tbl1, db.tbl2, db.tbl3, db.tbl4, record)

这可能吗,因为我尝试时总是出错。

define_table 参数不是字段或表:1

【问题讨论】:

    标签: forms web2py


    【解决方案1】:

    SQLFORM.factory 的位置参数只能是字段或表(将从中提取字段)。其他参数必须作为关键字参数传递:

    form = SQLFORM.factory(..., record=record)
    

    但是,将记录 ID 作为 record 参数传递给 SQLFORM.factory 将不起作用,因为 SQLFORM.factory 会生成带有虚拟表的虚拟 DAL 实例,因此它无法查询虚拟表使用记录 ID 来检索记录。在任何情况下,都不清楚您的记录 ID 将引用哪个记录(您的表单包含四个单独的数据库表)。

    如果您的目标是使用记录来预填充表单值,另一种方法是将字段默认设置为这些值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多