如何在下拉列表中显示引用表中的条目并存储所选条目的ID

时间:2016-04-20 15:27:00

标签: database forms web2py

有两张桌子:

db.define_table('content',
    # Here I want to store the id of the chosen layout_type
    Field('layout_type_id', db.layout_type),
    # Here the plain name - might not be necessary
    Field('layout_type_name', 'list:string')
    )

db.define_table('layout_type',
    Field('layout_type_name', 'string')
    )

db.content.layout_type_name.requires = IS_IN_DB(db, 'layout_type.id', '%(layout_type_name)s')

我创建了一个表单

form = crud.update(db.mytable, id)

我想要一个下拉菜单从中选择layout_type_name - 这是有效的 - 并存储所选条目的id

如何在id中存储所选layout_type_name的{​​{1}}?

此外,如果我在上面提到的下拉列表中选择一个条目 - 表单成功提交后,不会存储(文本)值。

1 个答案:

答案 0 :(得分:1)

这些更改使这个问题有效:

db.define_table('content',
    Field('content_type_id', db.content_type)
    )

db.define_table('layout_type',
    Field('layout_type_name', 'string'),
    format='%(layout_type_name)s'
    )

This post about record representation正是我最初想要的。