2016-03-24 8 views
0

私は私のように1によってBill_IDの値をインクリメントしたい自分にビルという名前のテーブルで、次のコードを、持っているとして、私はそれぞれのテーブルに新しい値(またはタプル)を入力しようとします。増分新しいタプルが入力された値、

# defination of Bill 
db.define_table('Bill', 
       Field('Bill_ID',requires=IS_NOT_EMPTY()), 
       Field('Billing_Date', requires=IS_DATETIME()), 
       Field('Local_Customer_ID', db.Local_Customer, requires=IS_NOT_EMPTY()), 
       Field('Retail_Customer_ID', db.Retail_Customer, requires=IS_NOT_EMPTY()), 
       Field('Total_Price', 'double', requires=IS_NOT_EMPTY())) 

上記のように結果を得るには、私がしなければならないことを知りたい。

答えて

0

新しいレコードが挿入されるたびにBill_IDを1ずつインクリメントすると仮定すると、web2pyにはすでに自動インクリメント整数フィールドであるidフィールドが含まれているため、そのフィールドは本当に必要ありません。あなたが本当にフィールド名がBill_IDいうよりidになりたい場合は、テーブルのidフィールドとしてBill_IDフィールドを定義することによって、そうすることができます。

Field('Bill_ID', type='id') 

注意、あなたは明示的に設定または変更しないでくださいこの場合のフィールド値は、各挿入時にデータベースによって自動的に処理されるためです。

+0

ありがとうございますが、私はデータの挿入中に画面に「Bill_ID」と表示したいと思います。 – Surendar

+0

要件を明確にしてください。ユーザーにBill_ID値を入力させますか?もしそうなら、それを1だけインクリメントする点は何ですか?増分を1ずつ増やしたい場合は、ユーザーに値を入力させるべきではありません。または、入力する値を表示したいだけですか?その場合は、(a)データベースの自動インクリメント機能を使用することはできません。挿入後にIDを認識することができず、(b)代替ソリューションでは、表示された数を保証する(2人のユーザーが同時にフォームに記入する場合)。 – Anthony

+0

OK。提案ありがとう。 – Surendar

関連する問題