私が知りたいのは、複数選択リストを作成する唯一の方法は、2つのテーブルの間にブリッジテーブルを作成することです??
テーブル (member,language,member_language) があります-> 各メンバーには 1 つまたは複数の言語があり、言語の複数選択リストを作成し、正常に機能する複数の言語を選択しました。
しかし、同じことをリージョンテーブルにしたいのですが、ここではメンバーにリージョンが1つしかないため、リージョンの複数選択リストから複数のリージョンを選択すると、「値がデータベースにありません!」というエラーが発生し、選択すると地域リストからの1つの値は正常に機能します。
選択した地域を満たすレポートを生成するために複数の地域を選択できる地域のリストのみが必要です。選択した地域はデータベースに挿入せず、クエリにのみ使用します。
これどうやってするの??
私のコード:
データベース部分
db.define_table("region_tmp",
SQLField("name","string")) db.region_tmp.name.requires = IS_IN_DB(db,'region_tmp.name',multiple=True)
フォーム部分:
form=SQLFORM(SQLDB(None).define_table('myform',
db.region_tmp.name,,submit_button="Generate Report")
私のコードの出力は、地域リストから複数の地域を選択すると、地域の複数選択リストになります。フォームには、「値がデータベースにありません!」と表示されます。地域リストの下にメッセージがあり、地域リストから1つの地域を選択すると正常に機能し、レポートが生成されます。
前もって感謝します