2014-01-19 48 views
0

在web2py中,使得機票預訂單web2py的多個記錄1種形式或嚮導

簡化數據庫視圖:

db.define_table('shows', Field('ShowName', 'string')) 
db.define_table('reservations', 
       Field('PersonName','string'), 
       Field('NbrOfTickets','integer'), 
       Field('show_id',db.shows)) 
db.reservations.show_id.requires = IS_IN_DB(db, db.shows.id, '%(ShowName)s') 

當進行預約: 人們需要先填寫自己的姓名,然後從下拉列表中選擇一個節目,並選擇一定數量的門票。

這一切都很好,但: 我希望人們能夠預訂超過1節目! 但人們不喜歡不止一次地填寫他們的名字...

所以問題是:我如何製作一個表單(或嚮導),讓人們只填寫一次他們的名字,然後可以填寫幾個(金額未知的前期)表格,他們可以選擇1個節目+門票數量。

如果所有這些都可以在沒有嚮導的情況下完成,那也適合我。

謝謝你的幫助!

回答

0

以下工作:(THX的建議由馬西莫·迪·皮耶羅)

解決辦法是預先填充的形式,所以,如果同一個用戶填寫表單兩次,他不必重新輸入他的名稱:

def reserve(): 
    form = SQLFORM(db.reservations) 
    form.vars.PersonName = session.PersonName 
    if form.process().accepted: 
     session.PersonName = form.vars.PersonName 
    return dict(form=form)