テーブルC
テーブルA
とB
を基準に2つのフィールドを有している(A
、B
& C
)以下の3つのテーブルを考えます。IDをWeb2pyの参照フィールドに変換するには?
モデル:
db.define_table('A',
Field('A1', 'string', required =True),
Field('A2', 'string', required =True),
Field('A3', 'string', required =True),
format=lambda r: '%s, %s' % (r.A.A1, r.A.A2))
db.define_table('B',
Field('B1', 'string', required=True),
Field('B2', 'string', required=True),
Field('B3', 'string', required=True),
format=lambda r: '%s, %s' % (r.B.B1, r.B.B2))
db.define_table('C',
Field('C1', db.A),
Field('C2', db.B),
Field('C3', 'string', required=True),
format=lambda r: '%s, %s - %s' % (r.C.C1, r.C.C2))
コントローラ:Iが表Cの3つのフィールドを表示下記の対応を考慮して
def C_view():
if request.args(0) is None:
rows = db(db.C).select(orderby=db.C.C1|db.C.C2)
else:
letter = request.args(0)
rows = db(db.C.C1.startswith(letter)).select(orderby=db.C.C1|db.C.C2)
return locals()
:このセットアップを
...
{{ for x in rows:}}
<tr>
<td>{{=x.C1}}</td>
<td>{{=x.C2}}</td>
<td>{{=x.C3}}</td>
</tr>
{{pass}}
...
を、ビューディスプレイCC2の外国人ID。モデル、コントローラ、および/またはビューを変更してIDの代わりに対応する参照フィールドを表示する必要はありますか?つまり、 はC1
、表示はr.A.A1, r.A.A2
、C2
はr.B.B1, r.B.B2
と表示されます。
ありがとうございます。