【问题标题】:web2py - generate multiselect listweb2py - 生成多选列表
【发布时间】:2009-10-08 09:37:57
【问题描述】:

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

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

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

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

我该怎么做?

提前致谢。

【问题讨论】:

    标签: web2py


    【解决方案1】:

    您可以使用 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]))
    )
    

    【讨论】:

    • 我使用了第一个解决方案,但是当我从列表中选择两个区域时,出现错误消息“数据库中没有值!”我不知道为什么??
    猜你喜欢
    • 2012-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-11
    • 2013-07-24
    • 2015-01-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多