web2py-選択したドロップダウン値がdbから検証する必要があります
質問
私は含むテーブルメンバーを持っています SQLField("year", db.All_years)
そして、次のようにall_yearsテーブル:
db.define_table("All_years",
SQLField("fromY","integer"),
SQLField("toY","integer")
)
そして制約は次のとおりです。
db.member.year.requires = IS_IN_DB(db, 'All_years.id','All_years.fromY')
問題は、ドロップダウンから1年を選択すると、年の列の値は年のIDであり、年の値ではありません。
理由がわかりません。
解決
あなたのプロジェクトは順調に進んでいると思います!
バリデーターはです IS_IN_DB(dbset, field, label)
. 。だからあなたは試してみるべきです:
db.member.year.requires = IS_IN_DB(db, 'All_years.id', '%(fromY)d')
ドロップダウンリストに正しいラベルを持つこと。
今、あなたのテーブルから、それはあなたがこれを使用することができるように、次のように使用できます。
db.member.year.requires = IS_IN_DB(db, 'All_years.id', '%(fromY)d to %(toY)d')
たとえば、「1980年から1985年」などが表示されます。
所属していません StackOverflow