web2py - генерирует мультиселектный список - PullRequest
2 голосов
/ 08 октября 2009

У меня есть приложение, использующее web2py.

У меня есть таблица в базе данных с именем member:

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

и я хочу отобразить поле региона в виде списка с несколькими вариантами выбора.

Как я могу это сделать?

Заранее спасибо.

1 Ответ

3 голосов
/ 09 октября 2009

Вы можете использовать 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]))
)
...