src/objects/post-card.object.ts
主なポイント
universalIdentifierは、デプロイをまたいで一意かつ安定している必要があります。- 各フィールドには、
name、type、label、および自身の安定したuniversalIdentifierが必要です。 fields配列は任意です。カスタムフィールドなしでオブジェクトを定義できます。- ここで定義されたインラインフィールドには
objectUniversalIdentifierは不要です — 親オブジェクトから継承されます。 所有していないオブジェクトにフィールドを追加するには、defineField()を使用します。 yarn twenty dev:add objectを使用すれば、新しいオブジェクトをスキャフォルドできます。名前、フィールド、リレーションシップの設定をガイドしてくれます。 アーキテクチャ → エンティティのスキャフォールディング を参照してください。
ベースフィールドは自動的に追加されます。 カスタムオブジェクトを定義すると、Twenty は
id、name、createdAt、updatedAt、createdBy、updatedBy、deletedAt などの標準フィールドを自動的に作成します。 これらを fields 配列で宣言する必要はありません。カスタムフィールドのみを追加してください。 同じ名前でフィールドを宣言することでデフォルトフィールドを上書きすることもできますが、これはほとんどの場合お勧めできません。デフォルト値
文字列リテラルのデフォルト値は、文字列の内部でシングルクォートで囲む必要があります。つまり、defaultValue: "'Draft'" のように書き、defaultValue: "Draft" のようには書きません。 そのため上記の status フィールドでは、`'${PostCardStatus.DRAFT}'` を使用しています。
引用符で囲まれていない文字列は、レコード作成時に評価される計算済みデフォルト値用に予約されています。
'uuid'—UUIDフィールド用に UUID を生成します。'now'— 現在のタイムスタンプ(DATE_TIMEフィールド用)を表します。
ACTOR フィールド上の { source: "'MANUAL'" })および SELECT / MULTI_SELECT の値にも適用されます。 引用符で囲まれていないリテラル文字列のデフォルト値がある場合、アプリのビルド時に警告が発生します。
次のステップ
- このオブジェクトを他のオブジェクトに接続する — 双方向リレーションパターンについては Relations を参照してください。
- 他のアプリのオブジェクトにフィールドを追加する —
defineField()については Extending Objects を参照してください。 - このオブジェクトを UI に表示する — サイドバーに表示するには、Views および Navigation Menu Items を参照してください。