2012-04-22 15 views
0

多対多の関係を持つ2つのテーブルがあります。一方のテーブルはプロパティのタイプを保持し、もう一方のテーブルはプロパティのタイプを保持します。私は新しいプロパティを作成するフォームを構築したい、と私は、このフォームは、ユーザーを許可する複数選択オプションを含むようにしたいジャンクションテーブルを使用してフォームに複数選択オプションを生成する - > web2py

_property_ 
id 
name 
description 

_region_ 
id 
name 

_property-region_ 
id 
property.id 
region.id 

:簡略化のために

だが、それはこのような何かを行くとしましょう

実際に接合テーブルを作成せずにlist:referenceを使用して複数選択フォームを作成できることを理解していますが、私はこの方法を学ぶことに興味があります。データベースを正規化する。

答えて

0

各領域は多くのプロパティを持ち、関係は地域によって保持されています... クエリレベルでは、プロパティのIDを保持する領域を要求します(どちらの方法でも、ジャンクション/テーブル)

リレーションに関する特定の情報がある場合は、そのロジックを自分で処理する必要があります。それは難しいですが、 2つのフォームを作成してプロパティ情報を検証すると、レコードがデータベースに格納されます。次に、idをリレーションの一部として、選択したすべてのアイテムをotherとして追加します。

+0

申し訳ありませんが、おそらく私の質問をよく説明していないでしょう。提案されているテーブル構造は、非正規化の後ではありません。正規化について言及したとき、web2pyのlist:referenceを使用するときです。 – leftcase

+0

それは非正規化ですか? 一方の当事者だけが参照を保持しています...両方のモデルでフィールドを作成すると、非正規化されます。 –

+0

Markekに返信してくれてありがとう。どのようなリストが分かっていますか:web2pyのリファレンスは何ですか?おそらくそれをチェックする? – leftcase

関連する問題