2011-09-11 15 views
2

は私の2つのテーブルがdefintionです:db.options_detail.question_idは事前にweb2pyでDB(またはフォーム)バリデータをカスタマイズするには?ここ

おかげフィ​​ールド "==真has_options_detail" を持っている質問に属している必要があります

db.define_table('question', 
    Field('category_id',db.category), 
    Field('content'), 
    Field('number_of_options','integer'), 
    Field('has_options_detail','boolean',default=False)) ## Has or not has detail for each option 

db.define_table('options_detail', ## This table only for options that have detail explanation 
    Field('question_id',db.question), 
    Field('serial'), ## Option ordering 
    Field('detail')) ## Detail explanation of option 

はどのようにすることを制限することができます!

答えて

2

これはそれを行う必要があります。

db.options_detail.question_id.requires = IS_IN_DB(
    db(db.question.has_options_detail==True), 'question.id') 

注意、IS_IN_DBバリデータは、任意の基準に基づいて参照されるテーブルをフィルタリングすることができますされ、最初の引数(hereを参照)としてDAL Setオブジェクトを取ることができます。

(またField()宣言で真上requires引数を指定することもできます。)あなたは非常に多くの

+0

感謝を! – Locke

関連する問題