在 web2py appadmin 中将外键呈现为下拉列表

rendering foreign keys as a pulldown in web2py appadmin

我的 web2py 数据库模式的一部分如下所示:

db.define_table('asset',
    Field('name', unique=True, requires=IS_NOT_EMPTY()),
    Field('description', 'text')
)

db.define_table('wallet',
    Field('name', unique=True, requires=IS_NOT_EMPTY()),
    Field('description', type='text')
)

db.define_table('wallet_asset',
    Field('wallet_id', 'reference wallet'),
    Field('asset_id', 'reference asset')
)

当我访问 appadmin 以输入新的 wallet_asset 记录时,我希望 wallet_idasset_id 字段是呈现这些名称的下拉菜单参考表。

我该怎么做?

在定义表时使用format记录表示。

阅读format: Record representation

您的架构将如下所示:

db.define_table('asset',
    Field('name', unique=True, requires=IS_NOT_EMPTY()),
    Field('description', 'text'),
    format='%(name)s'
)

db.define_table('wallet',
    Field('name', unique=True, requires=IS_NOT_EMPTY()),
    Field('description', type='text'),
    format='%(name)s'
)