2011-08-12 16 views
2

私は既存のweb2pyアプリケーションを持っています。今私は別のテーブルから行を必要とするフィールドを含むdbテーブルを使用して新しい登録フォームを作成する必要があります。既存のweb2pyデータベースを拡張する

これは、値がまだ存在していない場合、人々が '国'テーブルに値を追加できるようにすることを除いて、登録フォームの国フィールドとよく似ています。

答えて

4

は小さく作ることになりますweb2py Googlegroupであなたの質問をすることができます以前の応答への改善:

# create auth 
auth = Auth(db) 
# create the country table 
db.define_table('country', 
       Field('name'), 
       Field('desc'), 
       format = '%(name)s') 
# say you want to add it to auth_user table (not yet created) 
auth.settings.extra_fields['auth_user']=[Field('country','reference country')] 
# ask auth to make the auth tables, including auth_user 
auth.define_tables() 

JMaxが正しいです。私たちはweb2pyのメーリングリストにもっと敏感です。

+0

ありがとうマッシモ、私はあなたの改善に感謝:)私もGoogleグループをチェックアウトします。ありがとう。 – Jarrod

+0

これをやってみましたが、エラーが発生しました:基数10のint()の無効なリテラル: 'Plumber'。 'デシベル。define_table(auth.settings.table_user_name、 フィールド( 'タイトル'、db.title)、 フォーマット= '%(名前)s' は、 ) デシベル。define_table(: これは私のコードです'タイトル'、 フィールド( '名前')、 フォーマット= '%(名前)s' 私が間違っていることは混乱しています。 – Jarrod

1

あなたは(book参照)、多くの関係1つを使用することができます。

db.define_table('country', 
       Field('name'), 
       Field('desc')) 

db.define_table('user', 
       Field('name'), 
       Field('origin'), db.country)) 

ところで、あなたはマッシモは、おそらくそれ以上の反応

+0

ありがとうございました!私はそれが1対多数の関係と呼ばれていたことを知らなかった:) – Jarrod

関連する問題