2

我有一个使用 web2py 的应用程序。

我在数据库中有一个名为 member 的表:

db.define_table("member",
  SQLField("membership_id", "integer",notnull=True),
  SQLField("first_name", "string", notnull=True,length=100),
  SQLField("region", db.region))

我想将区域字段显示为多选列表。

我怎样才能做到这一点?

提前致谢。

4

1 回答 1

3

您可以使用 IS_IN_DB() 从另一个数据库表创建一个选择框:

form = SQLFORM.factory(
    Field('region', requires=IS_IN_DB(db, db.region.id, '%(name)s'))
)

或使用 IS_IN_SET() 获取手动数据:

regions = (1, 'a'), (2, 'b'), (3, 'c')
form = SQLFORM.factory(
    Field('region', requires=IS_IN_SET([r[0] for r in regions], labels=[r[1] for r in regions]))
)
于 2009-10-09T03:55:14.190 回答