Deform を扱う開発者は、少数の基本的な型のオブジェクトとそれぞれの関係を 理解する必要があります。それらの型は次の通りです:
ウィジェット、フィールド、スキーマノード・オブジェクトの関係は以下の 通りです:
Note
Colander ドキュメンテーション は Deform 開発者にとって有用なリソースです。特に schema がどのように 生成され、使用されるかの詳しい説明があります。Deform スキーマは Colander スキーマです。それらがどのように働くかについての Colander ドキュメンテーションは、同様に Deform スキーマを作成する場合にも 当てはまります。
ウィジェットは複数の schema node 型オブジェクトと関係があります。 例えば、抽象的な “TextInputWidget” は、その型として colander.String を持つスキーマノードと関連するテキストデータを テキスト入力コントロールにシリアライズさせることに責任を持つかもしれません。 その一方で、抽象的な “MappingWidget” は colander.Mapping オブジェクトをコントロールのシーケンスにシリアライズさせることに責任を 持つかもしれません。両方の場合で、シリアライズされるデータ型は、 ウィジェットが関連付けられているスキーマノード型と関係があります。
ウィジェットは field オブジェクトを通してスキーマノードと関係を 持っています。 field オブジェクトはウィジェットと schema node の両方への参照を持っています。これらの関係を図にすると、このように なります:
フィールド・オブジェクト (``field``)
|
|
|----- ウィジェット・オブジェクト (``field.widget``)
|
|
\----- スキーマノード・オブジェクト (``field.schema``)