snapshot of https://github.com/twentyhq/twenty.git (main, 2026-09-17; blobs > 131072B omitted)
Some checks failed
App Prod-Parity E2E Dispatch / dispatch (push) Failing after 10s
CD Storybook UI / build (push) Failing after 3m25s
CD Storybook UI / dispatch (push) Has been skipped
CD deploy main / website-changed-files (push) Successful in 18m8s
CI Agent Skills / changed-files-check (push) Successful in 18m9s
CI Create App E2E minimal / changed-files-check (push) Successful in 24s
CI Create App / changed-files-check (push) Successful in 26s
CI Docs / changed-files-check (push) Successful in 26s
CI Emails / changed-files-check (push) Successful in 28s
CI Example App Hello World / changed-files-check (push) Successful in 23s
CI Front / changed-files-check (push) Has been skipped
CI Example App Postcard / changed-files-check (push) Successful in 27s
CI UI / changed-files-check (push) Has been skipped
CI Utils Test / changed-files-check (push) Successful in 45s
CI Twenty Apps / discover (push) Successful in 1m3s
CD deploy main / deploy-main (push) Failing after 3s
CI Agent Skills / agent-skills-validate (push) Has been skipped
CI Create App / create-app-test (lint) (push) Has been skipped
CI Emails / emails-test (push) Has been skipped
CI Front / front-task (lingui:compile) (push) Has been skipped
CI Front / front-task (lint) (push) Has been skipped
CI Example App Postcard / example-app-postcard (push) Has been skipped
CI UI / ui-task (lint) (push) Has been skipped
CI UI / ui-task (pack-size) (push) Has been skipped
CI UI / ui-task (size) (push) Has been skipped
CI UI / ui-task (test) (push) Has been skipped
CI UI / ui-task (typecheck) (push) Has been skipped
CI Utils Test / utils-test (push) Has been skipped
CI Twenty Apps / ${{ matrix.app.name }} (push) Has been skipped
CI Emails / ci-emails-status-check (push) Successful in 2s
CI Example App Hello World / ci-example-app-hello-world-status-check (push) Successful in 2s
CI Example App Postcard / ci-example-app-postcard-status-check (push) Successful in 3s
CI UI / ui-sb-test (push) Has been skipped
CI Utils Test / ci-utils-test-status-check (push) Successful in 2s
CI Twenty Apps / ci-twenty-apps-status-check (push) Successful in 2s
CI UI / ci-ui-status-check (push) Successful in 2s
CI Desktop / desktop (push) Failing after 1m8s
Push docs to Crowdin / Push documentation to Crowdin (push) Failing after 55s
Push translations to Crowdin / Extract and upload translations (push) Failing after 5s
Push website translations to Crowdin / Extract and upload website translations (push) Failing after 5s
CI Create App / create-app-test (test) (push) Has been skipped
CI Create App / create-app-test (typecheck) (push) Has been skipped
CI Docs / docs-lint (push) Has been skipped
CI Example App Hello World / example-app-hello-world (push) Has been skipped
CI Front / front-task (lingui:extract) (push) Has been skipped
CI Front / front-task (test) (push) Has been skipped
CI Front / front-task (typecheck) (push) Has been skipped
CI UI / ui-sb-build (push) Failing after 1m32s
CI Twenty Apps / ${{ matrix.app.name }} (${{ matrix.server-source }}) (push) Has been skipped
CI Agent Skills / agent-skills-publish (push) Has been skipped
CI Create App / ci-create-app-status-check (push) Successful in 2s
CI Agent Skills / agent-skills-remote-source (push) Has been skipped
CI Create App E2E minimal / create-app-e2e-minimal (push) Has been cancelled
CI E2E Main / e2e-test (push) Has been cancelled
CI Front / front-sb-build (push) Has been cancelled
CI Front / front-build (push) Has been cancelled
CI Create App E2E minimal / ci-create-app-e2e-minimal-status-check (push) Has been cancelled
CI E2E Main / ci-e2e-main-status-check (push) Has been cancelled
CI E2E Main / notify-main-ci-failure (push) Has been cancelled
CI E2E Main / qa-scout-comment (push) Has been cancelled
CI Front / front-sb-test (push) Has been cancelled
CI Front / front-sb-screenshots (push) Has been cancelled
CI Front / ci-front-status-check (push) Has been cancelled
DPA Sub-Processor Sync / sync-subprocessors (push) Failing after 3s
AI Catalog Sync / sync-catalog (push) Failing after 2s

This commit is contained in:
upstream-mirror
2026-09-17 23:28:13 +05:00
commit e7da97194a
32688 changed files with 4208681 additions and 0 deletions

View File

@@ -0,0 +1,123 @@
---
title: フィールド
description: フィールドの役割とその管理方法を理解しましょう。
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## フィールドについて
フィールドはスプレッドシートの列のようなものです。 テキスト、数字、日付などの異なるデータタイプを保存します。 フィールドには、標準(ビルトイン)とカスタム(ユーザー作成)があります。
### 標準フィールド
Twenty には、一般的な業務ニーズに対応する標準フィールドがビルトインされています。
たとえば、「名」および「姓」は「人物」オブジェクトの標準フィールドです。 それらは個々の名前のテキストデータを保存します。
標準フィールドは削除できませんが、必要がない場合は無効化できます。
標準の `SELECT` 型フィールドのオプションもカスタマイズできます。たとえば、商談の `Stage` のオプションです。
<img src="/images/user-guide/fields/standard-fields.png" style={{width:'100%'}} />
### カスタムフィールド
カスタムフィールドは任意のオブジェクトに追加できます。 テキスト、数字、日付、ドロップダウンの選択肢などを保存できます。 カスタムフィールドを使用して、ビジネスに特化した情報を追跡します。
たとえば、SpaceX用のカスタムフィールドとして「ロケットの運用状況」を設定できます。これはロケットが稼働中かどうかを示します。
<img src="/images/user-guide/fields/custom-fields.png" style={{width:'100%'}} />
## フィールドタイプ
Twenty はさまざまなフィールドタイプをサポートしています。
| タイプ | 説明 | 例 |
| ------ | --------------------------- | ---------------- |
| 住所 | 通り、都市、州、国、郵便番号を含む構造化された住所 | オフィス住所 |
| Array | テキスト値のリスト | タグ |
| ブール型 | 真偽値のチェックボックス | アクティブ |
| 通貨 | 通貨コード付きの金額 | 商談金額(USD) |
| 日付 | 日付の値 | 締切日 |
| 日付と時間 | 時刻付きの日付 | ミーティング時刻 |
| ドメイン | Web サイトのドメイン(Companies で使用) | acme.com |
| メール | メールアドレス(主要+追加) | 連絡先メール |
| JSON | 構造化された JSON データ | カスタムメタデータ |
| リンク | ラベル付きの URL(主要+サブ) | Web サイト、LinkedIn |
| 長文テキスト | 複数行テキスト | 説明、メモ |
| マルチ選択 | あらかじめ定義されたリストから複数選択 | タグ、カテゴリ |
| 数 | 数値(整数または小数) | 数量、スコア |
| 電話 | 国番号付きの電話番号 | 勤務先電話 |
| 評価 | 星評価(1〜5) | 優先度、スコア |
| リレーション | 他のオブジェクト内のレコードへのリンク | Company → People |
| 選択 | あらかじめ定義されたリストからの単一選択 | ステージ、ステータス |
| テキスト | 1 行のテキスト | 名前、タイトル |
## カスタムフィールドを作成する
任意のオブジェクトにカスタムフィールドを追加するには、次の手順に従います。
1. 左サイドバーの「設定」に移動します。
2. 「データモデル」に移動し、カスタマイズしたいオブジェクトを選択します。
3.
3. `+ New Field`をクリックして続行します。
4. 要件に合ったフィールド名とタイプを選択してください。 より良い理解のためにフィールドの説明を追加することを検討してください。 より良い理解のためにフィールドの説明を追加することを検討してください。 より良い理解のためにフィールドの説明を追加することを検討してください。
作成したフィールドはアプリケーションのフィールド内で利用できるようになります。 特定のビューに表示するには、オプションメニューをクリックして「フィールド」を選択します。 特定のビューに表示するには、オプションメニューをクリックして「フィールド」を選択します。
<VimeoEmbed videoId="927628219" title="動画デモ" />
**簡単な方法:** 任意のオブジェクトテーブルの右上の **+** ボタンをクリックし、「フィールドをカスタマイズ」を選択します。 これにより、データモデルの設定に直接アクセスできます。
<img src="/images/user-guide/fields/quick-new-field.png" style={{width:'100%'}} />
## フィールドを無効にする
データを失わずにアプリからフィールドを隠すには、フィールドを無効にすることができます。 これはフィールドを削除するのではなく、隠すようなものです。 これはフィールドを削除するのではなく、隠すようなものです。 これはフィールドを削除するのではなく、隠すようなものです。
以下に方法を示します。
1. オブジェクト設定で無効化したいフィールドを見つけます。
2. フィールドの横にある三点リーダー`⋮`をクリックしてメニューを開きます。
3. ドロップダウンメニューから「無効化」を選択します。
<img src="/images/user-guide/fields/deactivate-field.png" style={{width:'100%'}} />
フィールドを無効にするとどうなりますか?
1. **アプリ内では:** フィールドが消え、新しい値を追加することができなくなります。
2. **既存の関係:** それがリレーションフィールドである場合、既存の接続は維持されますが、新しいものを作成することはできません。
3. **APIアクセス:** フィールドとそのデータには引き続きAPI経由でアクセスできます。
標準フィールドとカスタムフィールドを再アクティブ化することができます。また、それらを永久に削除するオプションがあります。
## フィールドをユニークにする
異なるレコードが同じ値を持つことがないように、フィールドをユニークにします。 例えば、メールアドレスは各人物に対してユニークです。 例えば、メールアドレスは各人物に対してユニークです。 例えば、メールアドレスは各人物に対してユニークです。
ユニーク性を設定する際にエラーが発生した場合、データ内の重複した値(削除されたレコードも含む)を確認してください。
## インデックス(上級)
データベースインデックスは自動的に管理されるため、自分で追加する必要があるケースはまれであり、また間違えやすい作業でもあります。 上級モードをオンにすると、インデックスが必要だと分かっている場合に備えて、各オブジェクトの `Settings → Data Model → <object>` の下に **Indexes** セクションが追加されます。
## フィールド構成のベストプラクティス
### 命名規則と制限
* **単数形と複数形の名前は区別されていなければなりません**:私たちの GraphQL API では、mutation に対して異なる名前が必要です
* **保護されたフィールド名**:一部の名前はシステムで使用するために予約されています(例:`Type`、`Application`)
### 通貨フィールドと電話フィールド
* **デフォルト通貨**:データモデルを介して設定できます
* **デフォルト国コード**:データモデルを介して電話フィールドに設定できます
### 選択フィールド
* **各選択フィールドにデフォルトオプションを選択できます**
### レコードテキストフィールド
* **各オブジェクトには**1つのメイン表示フィールドがあります。このフィールドは左側の列に表示され、他のオブジェクトにリンクされたときにレコードを表します。 これはテキストフィールドである必要があります。 たとえば、Peopleは「名前」をメインフィールドとして使用しているため、人物を会社にリンクすると、会社のビューにその名前が表示されます。 これはテキストフィールドである必要があります。 たとえば、Peopleは「名前」をメインフィールドとして使用しているため、人物を会社にリンクすると、会社のビューにその名前が表示されます。 これはテキストフィールドである必要があります。 たとえば、Peopleは「名前」をメインフィールドとして使用しているため、人物を会社にリンクすると、会社のビューにその名前が表示されます。

View File

@@ -0,0 +1,92 @@
---
title: オブジェクト
description: Twenty の標準オブジェクトとカスタムオブジェクトについて学びます。
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## 標準オブジェクト
標準オブジェクトは、作業を開始するためのワークスペースに予め定義されているエンティティです。 これらは、Twentyの全ユーザーがアクセスできる共有データモデルの一部です。 そのまま使用することも、カスタマイズすることも、無効化することもできます。
<img src="/images/user-guide/objects/standard-objects.png" style={{width:'100%'}} />
### "人"
`People` オブジェクトは連絡先を保存します。 連絡先の詳細とやり取りの履歴が含まれており、すべての顧客とのやり取りを一か所で確認できます。
### 会社
`Companies` オブジェクトはビジネスアカウントを保存します。 業界、規模、所在地などの詳細が含まれます。 `People` および `Opportunities` オブジェクトに接続します。
### 商談
`Opportunities` オブジェクトは、取引関連のデータを保存します。 見込み客から成約までの販売の進捗を追跡し、ステージ、取引規模、関連するアカウント、予想終了日に関する記録を残します。 カンバン形式で販売パイプラインを表示できます。
### ノート
`Notes` オブジェクトは、People、Companies、Opportunities などのレコードに添付できる自由形式のメモを保存します。 メモを使用して、会議の要約、重要な詳細、その他のコンテキスト情報を記録します。
### タスク
`Tasks` オブジェクトは、To-Do やアクション項目を保存します。 タスクは、People、Companies、Opportunities などのレコードに関連付けできます。 期限、担当者、完了状況を追跡して、フォローアップを的確に管理します。
## カスタムオブジェクト
カスタムオブジェクトを使用すると、標準オブジェクトでは対応できない組織独自の情報を保存できます。 例えば、SpaceXであれば、ロケットや打ち上げ用にカスタムオブジェクトを作成することが考えられます。 例えば、SpaceXであれば、ロケットや打ち上げ用にカスタムオブジェクトを作成することが考えられます。 例えば、SpaceXであれば、ロケットや打ち上げ用にカスタムオブジェクトを作成することが考えられます。
<img src="/images/user-guide/objects/custom-objects.png" style={{width:'100%'}} />
### 新しいカスタムオブジェクトの作成
新しいカスタムオブジェクトを作成するには:
1. 左側のサイドバーの設定に移動します。
2. ワークスペースの下で、データモデルに移動します。 ここでは、既存の標準オブジェクトとカスタムオブジェクト(アクティブオブジェクトと非アクティブオブジェクトの両方)の概要を確認できます。
<VimeoEmbed videoId="926288174" title="デモ動画" />
3. 上部の `+ 新しいオブジェクト` をクリックします。 カスタムオブジェクトの名前(単数形と複数形の両方)、アイコンを選択し、説明を追加し、[保存](右上)をクリックします。 上部の `+ 新しいオブジェクト` をクリックします。 カスタムオブジェクトの名前(単数形と複数形の両方)、アイコンを選択し、説明を追加し、[保存](右上)をクリックします。 カスタムオブジェクトの例として、Listingを使用し、単数形は "listing" 、複数形は "listings" 、説明は "ホストがプロパティを紹介するために作成したリスティング" となります。
4. カスタムオブジェクトが作成され、サイドバーに表示されます。 すぐにレコードを追加できます。
## オブジェクトの管理
### オブジェクトの無効化
標準オブジェクトまたはカスタムオブジェクトが不要な場合:
1. 設定 → データモデル に移動
2. 無効にしたいオブジェクトを見つけてクリックします
3. オブジェクトの **設定** タブに移動
4. 「停止」ボタンをクリックしてください
5. オブジェクトはワークスペースから非表示になりますが、データは保持されます。
### オブジェクトの再有効化
無効化したオブジェクトを再有効化するには:
1. 設定 → データモデル に移動
2. 「無効」フィルタを有効にする
3. 無効化されたオブジェクトを探します(名前の隣に`無効化された`があります)。
4. `⋮` をクリックしてから `Activate` をクリックして再有効化します
5. オブジェクトとそのすべてのデータが復元されます。
## ベストプラクティス
### カスタムオブジェクトを作成するタイミング
* **独自のビジネスエンティティ**: 業界やプロセスに特有のもの
* **複雑なリレーションシップ**: 複数のエンティティ間の関係を追跡する必要がある場合
* **スケーラブルなデータ**: 多数のインスタンスが発生する可能性がある場合
### 代わりにフィールドを使用するタイミング
* **シンプルな属性**: 既存のオブジェクトを記述するプロパティ
* **カテゴリやラベル**: 既存のレコードを分類する方法
* **単一の値**: 独自のライフサイクルを必要としない情報
### オブジェクトの命名
* **明確で説明的な名前を使う**: オブジェクトが何を表すかを一目でわかるようにする
* **規約に従う**: オブジェクト名は単数形、コレクションは複数形を使用する
* **チームを考慮する**: 全員が理解できる名前を選ぶ

View File

@@ -0,0 +1,94 @@
---
title: リレーションフィールド
description: リレーションフィールドを使用して、異なるオブジェクト間でレコードをリンクします。
---
## リレーションの種類
### 1対多
オブジェクトAの1件のレコードは、オブジェクトBの複数のレコードにリンクできます。
**例:** 1つの会社には多数の連絡先(従業員)がいます。
### 多対1
オブジェクトAの複数のレコードは、オブジェクトBの1件のレコードにリンクできます。
**例:** 多数の連絡先は1社に所属できます。
### 複数のオブジェクトタイプへのリレーション
一部のオブジェクトは、リレーションの片側で複数のオブジェクトタイプにリンクできます。
**例:** メモは、連絡先1件、会社1社、商談1件に同時にリンクできます。 メモは"多"の側にあり、複数の"1"の側にリンクしています。
<img src="/images/user-guide/fields/many-to-one-morph.png" style={{width:'100%'}} />
同様に、プロジェクト("1"の側)は、複数の連絡先、複数の会社、複数のメモからリンクを受け取ることができます。
<img src="/images/user-guide/fields/one-to-many-morph.png" style={{width:'100%'}} />
<Warning>
**インポート/エクスポートの制限**: 複数のオブジェクトタイプを指すリレーションは、CSV のインポート/エクスポートにはまだ対応していません。 これはロードマップに含まれています。
</Warning>
### 多対多
オブジェクトAの複数のレコードは、オブジェクトBの複数のレコードにリンクできます。
**例:** 多数の連絡先は多数のプロジェクトにリンクでき、その逆も可能です。
多対多のリレーションでは、両側を接続する中間オブジェクトを用いる**ジャンクションオブジェクト**パターンを使用します。 ジャンクションリレーション機能により、Twenty は最終的にリンクされたレコードを直接表示し、中間オブジェクトを UI から隠します。
<Warning>
**ベータ機能**: 使用前に **Settings → Community → Features** でジャンクションリレーションを有効化する必要があります。
</Warning>
完全なステップバイステップのガイドについては、[多対多リレーションの作成方法](/l/ja/user-guide/data-model/how-tos/create-many-to-many-relations) を参照してください。
## リレーションフィールドの作成
1. **設定 → データモデル** に移動
2. リレーションを追加したいオブジェクトを選択します
3. **+ 新規フィールド** をクリックしてください
4. フィールドタイプとして **Relation** を選択
5. 関連付け先のオブジェクトを選択します
6. リレーションの設定を行います:
* **ソースオブジェクト上のフィールド名**: 編集しているオブジェクト上のリレーションフィールドの名前
* **対象オブジェクト上のフィールド名**: 対象オブジェクトに表示されるリレーションフィールドの名前
* リレーションタイプ(1対多、多対1)
7. **保存**をクリック
## 標準リレーション
Twenty には標準オブジェクト間のあらかじめ用意されたリレーションがあります:
| 元オブジェクト | 宛先オブジェクト | リレーションタイプ |
| ------- | -------- | --------- |
| 人物 | 会社 | 多対1 |
| 商談 | 会社 | 多対1 |
| 商談 | 人物 | 多対1 |
## ベストプラクティス
### リレーションの計画
* **データモデルをマッピング**: 作成前にリレーションを計画する
* **方向性を検討**: どのオブジェクトがそのリレーションを"所有"するかを考える
* **循環依存を避ける**: データモデルをクリーンに保つ
### リレーションの命名
* **明確な名前を使う**: リレーションが何を表すかが一目でわかるようにする
* **一貫性を保つ**: リレーション全体で似た命名パターンを使用する
* **両側を考慮する**: リレーションの両側に適切な名前を付ける
### パフォーマンス
* **リレーションの作りすぎに注意**: リレーションが多すぎるとワークスペースが遅くなる可能性があります
## 制限事項
* **リレーションを削除**するとリンクは削除されますが、関連レコード自体は削除されません。
* **循環リレーション**はデータの整合性のため避けるべきです

View File

@@ -0,0 +1,72 @@
---
title: カスタムフィールドの作成
description: 任意のオブジェクトにカスタムフィールドを追加するためのステップバイステップガイド
---
カスタムフィールドを使用すると、ビジネス固有の情報をキャプチャできます。 それらを任意のオブジェクト — 標準またはカスタムに追加します。
## 歩数
1. **設定 → データモデル** に移動
2. フィールドを追加するオブジェクトを選択します。
3. **+ 新しいフィールド** をクリックします。
4. **フィールドタイプ** を選択してください (すべてのタイプについては [Fields](/l/ja/user-guide/data-model/capabilities/fields) を参照してください)
5. **フィールド名** と説明を入力してください
6. フィールド固有の設定を構成します (下記参照)
7. **保存**をクリック
**クイックメソッド** テーブルビューの列ヘッダーの最後に **+** をクリックします → **フィールドをカスタマイズ** 。
## ビューにフィールドを表示
新しいフィールドは自動的に表示されません。 表示する:
1. オブジェクトのテーブルビューを開く
2. **オプション → フィールド** をクリックします。
3. フィールドの横にある **目のアイコン** をクリックして表示します
4. ドラッグして並べ替え
## 設定オプション
### 選択/複数選択用
1. **+ オプションを追加**をクリックして選択肢を作成します
2. 必要に応じて**デフォルトオプション**を設定してください
3. ドラッグして並べ替えオプション
<Note>
**インポートにAPI名を使用します。** API名を表示するには、設定で**詳細モード**を有効にします。 [Field Mapping](/l/ja/user-guide/data-migration/capabilities/field-mapping)を参照してください。
</Note>
### 通貨フィールド用
**デフォルトの通貨** (米ドル、ユーロなど) を設定します。 新しい記録の為に
### 電話項目用
新しい電話番号を入力するには、**デフォルトの国コード**を設定してください。
### フィールドをユニークにする
**ユニーク**をオンにすると、レコード間の重複値を防ぐことができます。
<Note>
重複が(削除されたレコードを含む)存在する場合、エラーが発生します。 重複を最初にクリーンアップします。
</Note>
### デフォルト値の設定
format@@0フィールドでは、新規レコードに事前に選択されているオプションを選択できます。 チェックボックス項目では、デフォルトでチェックボックスかチェックオフかを設定します。
## フィールドを無効にしています
1. **設定 → データモデル** に移動
2. フィールドを探す
3. **⋮ → Deactivate** をクリックします
データは保存されます。 再アクティブ化または後で永久に削除できます。
## 関連
* [Fields](/l/ja/user-guide/data-model/capabilities/fields) — すべてのフィールドタイプについて説明されています
* [Data Model FAQ](/l/ja/user-guide/data-model/how-tos/data-model-faq) — よくある質問

View File

@@ -0,0 +1,51 @@
---
title: カスタムオブジェクトを作成する
description: Twenty でカスタムオブジェクトを作成するためのステップバイステップガイド。
---
カスタムオブジェクトを使用すると、標準オブジェクトでは対応できないビジネス固有の情報を保存できます。 例: プロジェクト、製品、チケット、リスティング。
<Note>
**オブジェクトが必要か、フィールドが必要か迷っていますか?** 詳しくは[データモデルの理解](/l/ja/user-guide/data-model/overview)を参照してください。
</Note>
## 手順
1. **設定 → データモデル** に移動
2. **+ オブジェクトを追加**をクリックします
3. 次を入力:
* **単数名**(例: "Listing")
* **複数名**(例: "Listings")
* **アイコン**
* **説明**(任意)
4. **保存**をクリック
作成したオブジェクトはすぐにサイドバーに表示されます。
## 次: フィールドを追加
新しいオブジェクトには基本フィールドがあらかじめ含まれています。 必要なデータを収集するために、カスタムフィールドを追加します:
1. **設定 → データモデル** で、対象のオブジェクトを選択します
2. **+ 新しいフィールド** をクリックします。
3. フィールドタイプを選択し、設定して保存します
フィールドタイプと設定の詳細は、[カスタムフィールドの作成方法](/l/ja/user-guide/data-model/how-tos/create-custom-fields)を参照してください。
## 他のオブジェクトと接続する
オブジェクトを People、Companies、その他のオブジェクトにリンクするには、リレーションフィールドを作成します。 [リレーションフィールドの作成方法](/l/ja/user-guide/data-model/how-tos/create-relation-fields)を参照してください。
## オブジェクトの無効化
オブジェクトが不要になった場合:
1. **設定 → データ モデル → お好みのオブジェクト → 設定** に移動
2. **無効化**ボタンをクリックしてください
オブジェクトは非表示になりますが、データは保持されます。 後で再有効化することも、完全に削除することもできます。
## 関連
* [オブジェクト](/l/ja/user-guide/data-model/capabilities/objects) — 標準オブジェクトとカスタムオブジェクト
* [データモデル FAQ](/l/ja/user-guide/data-model/how-tos/data-model-faq) — よくある質問

View File

@@ -0,0 +1,175 @@
---
title: 多対多リレーションを作成する
description: ジャンクションオブジェクトを使うことで、両側の多数のレコード同士をリンクできます。
---
多対多リレーションでは、両側で複数のレコードを相互に接続できます。 例えば、多数の連絡先が多数のプロジェクトで作業でき、各プロジェクトには多数の連絡先が紐づきます。
<Warning>
**ベータ機能**: ジャンクションリレーションは現在ベータ版です。 このガイドに進む前に、**Settings → Community → Features** で有効にしてください。
</Warning>
<Note>
この機能を使うには **Advanced mode** も有効にする必要があります(Settings の左下にあるトグルで切り替え)。
</Note>
## 多対多を使うタイミング
関係の両側が複数の接続を持ちうる場合に、多対多を使用します。
| 関係 | 例 |
| ------------ | -------------------------------------------------- |
| 連絡先 ↔ プロジェクト | 1 人の連絡先は複数のプロジェクトで作業でき、1 つのプロジェクトには複数のチームメンバーがいます。 |
| 会社 ↔ タグ | 1 社には複数のタグを付与でき、1 つのタグは複数の会社に適用できます。 |
| 商品 ↔ 注文 | 1 つの商品は複数の注文に含まれ、1 件の注文には複数の商品が含まれます。 |
## 仕組み
Twenty は多対多リレーションに **ジャンクションオブジェクト** パターンを使用します。 ジャンクションオブジェクトは 2 つのオブジェクトの間に位置し、接続を保持します。
```
People ←→ Project Assignments ←→ Projects
```
**Project Assignments** オブジェクト(ジャンクション)には次があります。
* People へのリレーション(多対1)
* Projects へのリレーション(多対1)
ジャンクションリレーションのトグルを有効にすると、Twenty は中間のジャンクションレコードを表示せず、リンクされたレコードを直接表示します。
## 前提条件
1. **ベータ機能で Junction Relations を有効化**: **Settings → Community → Features** に移動し、**Junction Relations** を有効にします
2. **Advanced mode を有効化**: 設定サイドバーの左下にある **Advanced mode** のトグルをオンにします
3. データモデルを計画する:
* どの 2 つのオブジェクトを接続しますか?
* ジャンクションオブジェクトの名称は何にしますか?
## ステップ 1: ジャンクションオブジェクトを作成する
まず、接続を保持する中間オブジェクトを作成します。
1. **設定 → データモデル** に移動します
2. **+ オブジェクトを追加**をクリックします
3. わかりやすい名前を付けます(例: "Project Assignment"、"Team Member"、"Product Order")
4. "Name フィールドの作成をスキップ" をオンに切り替えます
<img src="/images/user-guide/fields/new-pivot-object.png" alt="新規ピボットオブジェクト" />
5. **保存**をクリック
<Tip>
**命名規則**: "Project Assignment" や "Team Membership" のように、関係を表す名前を使用してください。 これにより、データモデルが理解しやすくなります。
</Tip>
## 手順 2: オブジェクトとジャンクションの間にリレーションを作成する
2 つのオブジェクトそれぞれに、ジャンクションオブジェクトへのリレーションフィールドを追加します。
### 最初のリレーション(オブジェクト A → ジャンクション)
1. **Settings → Data Model** で最初のオブジェクトを選択します
2. **+ Add Relation** をクリック
3. ジャンクションオブジェクトを選択します(例: "Project Assignments")
4. リレーションタイプを **One-To-Many** に設定します(1 人の連絡先は複数の割り当てにリンクできます)
5. フィールドに名前を付けます:
* People 側のフィールド: 例: "Project Assignments"
* ジャンクション側のフィールド: 例: "Person"
6. **保存**をクリック
### 2 番目のリレーション(オブジェクト B → ジャンクション)
1. **Settings → Data Model** で 2 番目のオブジェクトを選択します
2. **+ Add Relation** をクリック
3. ジャンクションオブジェクトを選択します(例: "Project Assignments")
4. リレーションタイプを **1対多** に設定します(1 つのプロジェクトは複数の割り当てにリンクできます)
5. **"これはジャンクションオブジェクトへのリレーションです"** を有効にします
<img src="/images/user-guide/fields/junction-relation-toggle.png" style={{width:'100%'}} />
6. フィールドに名前を付けます:
* ジャンクション側のフィールド: 例: "Project"
* Projects 側のフィールド: 例: "Team Members"
7. **保存**をクリック
## ステップ 3: ジャンクションリレーションの表示を設定する
次に、中間のジャンクションオブジェクトを介さずにリンクされたレコードを直接表示するよう、元のオブジェクトを設定します。
1. **設定 → データモデル** に移動します
2. 最初のオブジェクトを選択します(例: "People")
3. ジャンクションオブジェクトを指すリレーションフィールド(例: "Project Assignments")を見つけます
4. クリックしてフィールドを編集します
5. **"これはジャンクションオブジェクトへのリレーションです"** を有効にします
6. **Target relation** を選択します(例: "Project" — 反対側を指すジャンクション上のフィールド)
7. **保存**をクリック
## 結果
設定後:
* **Person** レコードでは、"Project Assignments" フィールドに **Projects** が直接表示されます(割り当てレコードではありません)
* **Project** レコードでは、"Team Members" フィールドに **People** が直接表示されます
ジャンクションオブジェクト自体は存在し接続を保存しますが、UI ではよりすっきりした多対多ビューとして表示されます。
## 例: People ↔ Projects
完全な手順は以下のとおりです:
### ジャンクションオブジェクトを作成する
* 名前: **Project Assignment**
* 説明: "人と、その人が携わっているプロジェクトを関連付けます"
### リレーションを追加する
1. **People → Project Assignment**
* タイプ: 1対多
* People 側のフィールド: "Project Assignments"
* Assignment 側のフィールド: "Person"
2. **Projects → Project Assignment**
* タイプ: 1対多
* Projects 側のフィールド: "Team Members"
* Assignment 側のフィールド: "Project"
### ジャンクションの表示を設定する
1. **People** オブジェクトで:
* "Project Assignments" フィールドを編集
* ジャンクションのトグルを有効にする
* 対象: "Project"
2. **Projects** オブジェクトで:
* "Team Members" フィールドを編集
* ジャンクションのトグルを有効にする
* 対象: "Person"
### 使ってみる
* Person レコードを開く → 紐づく Projects を直接表示
* Project レコードを開く → チームメンバーを直接表示
* どちら側からでも新しい接続を作成できます
## 接続に追加データを持たせる
ジャンクションオブジェクトは実体のあるオブジェクトなので、関係に関する情報を保存するためのカスタムフィールドを追加できます。
* **役割**: "Developer"、"Designer"、"Manager"
* **開始日**: プロジェクトに参加した人
* **割り当て時間**: 当該プロジェクトの週あたりの時間
このデータにアクセスするには、ジャンクションオブジェクトに直接移動するか、API 経由でクエリします。
## 制限事項
* **CSV インポート/エクスポート**: 多対多リレーションの直接インポートには対応していません。 代わりに、ジャンクションオブジェクトにレコードをインポートしてください。
* **フィルター**: 多対多リレーションでのフィルタリングには制限がある場合があります。
## 関連
* [リレーションフィールド](/l/ja/user-guide/data-model/capabilities/relation-fields) — リレーションタイプの解説
* [カスタムオブジェクトの作成](/l/ja/user-guide/data-model/how-tos/create-custom-objects) — オブジェクトの作成方法
* [リレーションフィールドを作成](/l/ja/user-guide/data-model/how-tos/create-relation-fields) — 基本的なリレーションの設定

View File

@@ -0,0 +1,70 @@
---
title: 関連フィールドの作成
description: リレーションフィールドでオブジェクトを接続するためのステップバイステップガイド。
---
リレーションフィールドは異なるオブジェクトのレコードを接続します—たとえば、People を Companies にリンクします。
<Note>
**リレーション名は作成後に変更できません**(API に影響するため)。 名前は慎重に計画してください。
</Note>
## 始める前に
決めること:
* どのオブジェクトを接続しますか? (例:People → Companies)
* どちらが「one」側ですか? (例:Company)
* どちらが「many」側ですか? (例:People — 多くの人が1つの会社で働く)
* 各側のフィールド名は何にしますか?
リレーションの種類については、[Relation Fields](/l/ja/user-guide/data-model/capabilities/relation-fields) を参照してください。
## 手順
1. **Settings → Data Model** に移動します
2. リレーションを作成したいオブジェクト(通常は「many」側)を選択します
3. **+ New Field** をクリックします
4. フィールドタイプとして **Relation** を選択します
5. **対象オブジェクト** を選択します
6. **One-to-Many** または **Many-to-One** を選択します
7. リレーションの**両側**のフィールド名を入力します
8. **保存**をクリック
## 例:People → Companies
* **Settings → Data Model → People** に移動します
* リレーションフィールドを追加します
* 対象:**Companies**
* タイプ:**Many-to-One**
* People 側のフィールド:**Company**
* Companies 側のフィールド:**Employees**
これで、各 Person は Company にリンクでき、各 Company には People が表示されます。
## リレーションの非アクティブ化
1. **設定 → データ モデル → 選択対象** に移動
2. リレーションフィールドを見つけてクリックします
3. **Deactivate** ボタンをクリックします
リンクは保持されますが非表示になります。 再有効化すると復元されます。
<Note>
**リレーションを非アクティブ化しても、レコードは削除されません。** 削除されるのは、それらの間のリンクだけです。
</Note>
## リレーションの削除
1. **設定 → データ モデル → 選択対象** に移動
2. リレーションフィールドを見つけてクリックします
3. **Delete** ボタンをクリックします
<Note>
カスタムリレーションにのみ適用されます。 標準リレーションは無効にできます。
</Note>
## 関連
* [Relation Fields](/l/ja/user-guide/data-model/capabilities/relation-fields) — 種類と制限事項
* [How to Import Relations](/l/ja/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv) — リンクされたレコードを一括インポート

View File

@@ -0,0 +1,22 @@
---
title: データモデルをカスタマイズする
description: データモデルのカスタマイズオプションの概要。
---
Twentyのデータモデルは完全にカスタマイズ可能です。 ビジネスに合わせて、オブジェクト、フィールド、リレーションを作成できます。
## クイックリンク
| やりたいこと... | ガイド |
| ----------------- | ------------------------------------------------------------------------- |
| 新しいオブジェクトを作成する | [カスタムオブジェクトの作成方法](/l/ja/user-guide/data-model/how-tos/create-custom-objects) |
| オブジェクトにフィールドを追加する | [カスタムフィールドの作成方法](/l/ja/user-guide/data-model/how-tos/create-custom-fields) |
| オブジェクト同士を関連付ける | [リレーションフィールドの作成方法](/l/ja/user-guide/data-model/how-tos/create-relation-fields) |
## さらに詳しく
* [データモデルを理解する](/l/ja/user-guide/data-model/overview) — 重要な概念と計画のヒント
* [オブジェクト](/l/ja/user-guide/data-model/capabilities/objects) — 標準オブジェクトとカスタムオブジェクト
* [フィールド](/l/ja/user-guide/data-model/capabilities/fields) — すべてのフィールドタイプ
* [リレーションフィールド](/l/ja/user-guide/data-model/capabilities/relation-fields) — オブジェクトの関連付け
* [データモデルFAQ](/l/ja/user-guide/data-model/how-tos/data-model-faq) — よくある質問

View File

@@ -0,0 +1,162 @@
---
title: データモデルFAQ
description: Twenty のデータモデルに関するよくある質問。
---
## オブジェクト管理
<AccordionGroup>
<Accordion title="カスタムオブジェクトを削除できますか?">
はい、カスタムオブジェクトは削除できます。 まず無効化することもできます。無効化すると、データを保持したまま、オブジェクトとそのデータがインターフェースから非表示になります。
</Accordion>
<Accordion title="標準オブジェクト(人、会社など)を削除できますか?">
いいえ、標準オブジェクトは削除できません。 無効化のみ可能です。無効化するとインターフェースからは非表示になりますが、データは保持されます。
</Accordion>
<Accordion title="カスタムオブジェクトはいくつ作成できますか?">
必要なだけカスタムオブジェクトやフィールドを作成できます—価格は変わりません。
</Accordion>
<Accordion title="標準オブジェクトの名前を変更できますか?">
標準オブジェクト(People、Companies、Opportunities)のラベル名は変更できますが、API 名は変更できません。 API 名は、すべての Twenty ワークスペース間で一貫性を保つため固定されています。
</Accordion>
<Accordion title="オブジェクトのアイコンを変更できますか?">
はい、**Settings → Data Model** で標準オブジェクトとカスタムオブジェクトのアイコンを変更できます。
</Accordion>
<Accordion title="左のナビゲーションバーでオブジェクトを並べ替えることはできますか?">
まだできません。
まだできません。 ナビゲーションでのオブジェクトの順序は現在固定されていますが、この機能は将来のリリースで予定されています。
</Accordion>
<Accordion title="左のナビゲーションバーからオブジェクトを非表示にできますか?">
すべてのアクティブなオブジェクトがナビゲーションに表示されます。
すべてのアクティブなオブジェクトがナビゲーションに表示されます。 必須でないオブジェクトは、**設定 → データモデル** から非アクティブ化できます。
すべてのアクティブなオブジェクトがナビゲーションに表示されます。 必須でないオブジェクトは、**設定 → データモデル** から非アクティブ化できます。
</Accordion>
</AccordionGroup>
## フィールドの機能
<AccordionGroup>
<Accordion title="作成後にフィールドの型を変更できますか?">
いいえ、作成後にフィールドの型は変更できません。 別の型が必要な場合は、正しい型の新しいフィールドを作成し、データを移行してから、古いフィールドを無効化してください。
</Accordion>
<Accordion title="なぜ異なる単数形と複数形の名前が必要なのですか?">
GraphQL APIは、異なる操作に対し両方の形式を使用します:
* 単一のレコード操作には、`createPerson`(単数形)
* 一括操作には、`createPeople`(複数形)
単数形と複数形が同じ場合に制限が発生しますが、開発者の体験を向上させます。
</Accordion>
<Accordion title="なぜいくつかのフィールド名は保護されているのですか?">
`Type` や `Application` のようないくつかのフィールド名はシステム用に予約されています。 代わりに`Category`や`Classification`のような代替名を選択してください。
代わりに`Category`や`Classification`のような代替名を選択してください。
</Accordion>
<Accordion title="フィールドを無効化するとどうなりますか?">
* そのフィールドはインターフェースから非表示になります
* 既存のデータは保持されます
* API 経由でそのフィールドに引き続きアクセスできます
* 既存のリレーションは維持されますが、新規に作成することはできません
* そのフィールドは後で再有効化できます
</Accordion>
<Accordion title="フィールドを必須にできますか?">
現在、カスタムフィールドを必須にすることはできません。 すべてのフィールドは空の値を受け付けます。 ワークフローを使用して、フィールドが空のときにアラート送信やアクションのブロックを行い、必須を強制できます。
</Accordion>
<Accordion title="一意と必須の違いは何ですか?">
* **一意**: 2 つのレコードがこのフィールドで同じ値を持つことはできません
* **必須**: フィールドには値が必要です(現在、カスタムフィールドではサポートされていません)
</Accordion>
<Accordion title="数式フィールドを作成できますか?">
数式フィールドは **H2 2026** に追加されます。
数式フィールドは**2026年Q1**に提供されます。 その間、自動で計算してフィールド値を更新するワークフローを使用できます。
</Accordion>
<Accordion title="オブジェクトにネストされたフィールドを持つことはできますか?">
Nested fields are coming in **H2 20226** . 現在、関連オブジェクトからフィールド値を取得するためのワークフローを使用できます。 例えば、人のレコードに会社の業界を表示するには、[People] にカスタムフィールドを作成し、ワークフローを使って値を同期します。
</Accordion>
<Accordion title="オブジェクト内のフィールドを並べ替えることはできますか?">
はい、設定 → データ モデル → お好みのオブジェクト → レイアウト を選択し、**レコードページのカスタマイズ**をクリックします。 このボタンが無効の場合は、レコードを作成する必要があります。
</Accordion>
</AccordionGroup>
## 関連
<AccordionGroup>
<Accordion title="同じオブジェクトを指すリレーションを作成できますか?">
はい! 自己参照リレーションはサポートされており、アカウント階層などのユースケースでの使用が推奨されます。 例えば、親子アカウントを追跡するために、Companies 同士のリレーションを作成します。
</Accordion>
<Accordion title="多対多の関係を作成できますか?">
**H2 2026**には多くの関係があります。 現在は、回避策として、1 対多のリレーションを 2 つ持つ中間オブジェクトを作成してください。
例えば、People と Projects(多対多)を関連付けるには、"Project Assignments" オブジェクトを作成し、次の構成にします:
* People へのリレーション(多数の割り当て → 1 人)
* Projects へのリレーション(多数の割り当て → 1 プロジェクト)
</Accordion>
<Accordion title="複数のオブジェクトタイプへのリレーション(Morph リレーション)とは何ですか?">
これは、1 つのフィールドを通じて 1 つのオブジェクトが複数の異なるオブジェクトタイプに関連付けられるようにするものです。 例えば、メモは People と Companies と Opportunities に同時に添付できます。
各メモは、連絡先 1 名、会社 1 社、商談 1 件に同時にリンクします。
詳しくは [リレーションフィールド](/l/ja/user-guide/data-model/capabilities/relation-fields) をご覧ください。
</Accordion>
<Accordion title="同じオブジェクト間で複数のリレーションを持てますか?">
はい、同じ 2 つのオブジェクト間に複数のリレーションを作成できます。 例えば、Company は People に対して "Primary Contact" リレーションと "Billing Contact" リレーションの両方を持つことができます。
</Accordion>
<Accordion title="レコードを削除すると、リレーションはどうなりますか?">
レコードを削除すると、関連レコードからそのリレーションのリンクが削除されます。 関連レコード自体は削除されません。
</Accordion>
<Accordion title="循環リレーションを作成できますか?">
技術的には可能ですが、循環リレーション(A → B → C → A)は混乱を招き、パフォーマンス上の問題を引き起こす可能性があるため、避けるべきです。
</Accordion>
</AccordionGroup>
## アクセスと権限
<AccordionGroup>
<Accordion title="データモデルをどこで見て編集できますか?">
**Settings → Data Model** に移動すると、すべてのオブジェクトとフィールドを表示および編集できます。
</Accordion>
<Accordion title="なぜ設定内でデータモデルが見えないのですか?">
ワークスペースの管理者にお問い合わせください。 データモデルへのアクセスは通常、管理者に制限されています。
</Accordion>
</AccordionGroup>
## データ管理
<AccordionGroup>
<Accordion title="保持できるレコード数に上限はありますか?">
レコード数に厳密な上限はありません。 ただし、非常に大きなデータセットは、一部のビューでパフォーマンスに影響を与える可能性があります。 フィルターやビューを活用して、大規模なデータセットを効率的に管理してください。
</Accordion>
<Accordion title="カスタムオブジェクトにデータをインポートできますか?">
はい、カスタムオブジェクトを含む任意のオブジェクトに CSV データをインポートできます。 インポートプロセスでは、カスタムフィールドのフィールドマッピングをサポートしています。 詳しくは [CSV ファイルの準備方法](/l/ja/user-guide/data-migration/how-tos/prepare-your-csv-files) をご覧ください。
</Accordion>
<Accordion title="データモデルの設定をエクスポートできますか?">
現在、データモデル設定の組み込みエクスポート機能はありません。 ワークスペース間でデータモデルを移行する必要がある場合は、サポートにお問い合わせください。
</Accordion>
<Accordion title="1つのオブジェクトにはいくつのフィールドがありますか?">
単一のオブジェクトが持つことができるフィールドの最大数は、Postgresの制限ごとに1600フィールドであり、既存のフィールドと削除されたフィールドの両方を含みます。 公正使用ポリシーに該当する1600フィールドの上限に達した場合、Twentyがワークスペースを修正しないことに注意してください。
</Accordion>
</AccordionGroup>
## さらなるヘルプが必要ですか?
複雑なデータモデル設計の支援については、[実装サービス](/l/ja/user-guide/getting-started/capabilities/implementation-services)をご覧ください。

View File

@@ -0,0 +1,177 @@
---
title: データモデル
description: データモデルとは何か、ビジネスに適したデータモデルの設計方法を学びましょう。
---
## データモデルとは何ですか?
データモデルは、CRMにおける情報がどのように整理されるかを定義する構造です。 それは、どのオブジェクトが存在するか(会社、人、機会など)、それらが持つプロパティ(フィールド)が何か、そしてそれらがどのように関連しているかを決定します。 それを顧客データの地図として考えることができます。 それは、どのオブジェクトが存在するか(会社、人、機会など)、それらが持つプロパティ(フィールド)が何か、そしてそれらがどのように関連しているかを決定します。 それを顧客データの地図として考えることができます。 それは、どのオブジェクトが存在するか(会社、人、機会など)、それらが持つプロパティ(フィールド)が何か、そしてそれらがどのように関連しているかを決定します。 それを顧客データの地図として考えることができます。 それは、どのオブジェクトが存在するか(会社、人、機会など)、それらが持つプロパティ(フィールド)が何か、そしてそれらがどのように関連しているかを決定します。 それを顧客データの地図として考えることができます。 それは、どのオブジェクトが存在するか(会社、人、機会など)、それらが持つプロパティ(フィールド)が何か、そしてそれらがどのように関連しているかを決定します。 それを顧客データの地図として考えることができます。 それは、どのオブジェクトが存在するか(会社、人、機会など)、それらが持つプロパティ(フィールド)が何か、そしてそれらがどのように関連しているかを決定します。 それを顧客データの地図として考えることができます。 顧客データの**設計図**だと考えてください—一度設計したら、実際のデータで埋めていきます。
## 主要な概念
### オブジェクト
**オブジェクト**は、CRMにおけるデータの主要なカテゴリです。 各オブジェクトは、追跡したい対象の種類を表します。
Twenty には標準オブジェクトがあります:
* **People** — 個人(連絡先、リード、パートナー)
* **Companies** — 組織
* **Opportunities** — 商談または売上
* **メモ** — レコードに添付されているノート
* **Tasks** — レコードに関連付けられたToDo
あなたのビジネス固有のあらゆるもの向けに**カスタムオブジェクト**を作成することもできます(例:Projects、Subscriptions、Events)。
### フィールド
**フィールド**は、各オブジェクトを記述するプロパティ(属性)です。 実際の情報を保存します。
例えば、**People** オブジェクトには次のようなフィールドがあります:
* 名前
* メール
* 電話
* 職種
* Company(Companies オブジェクトへのリレーション)
フィールドにはさまざまな**タイプ**があります: テキスト、数値、日付、セレクト、マルチセレクト、リレーションなど。 任意のオブジェクトにカスタムフィールドを追加できます。
### レコード
**レコード**は、オブジェクト内の個別のエントリであり、あなたが作成・管理する実データです。
例えば:
* "John Smith" は People オブジェクトの**レコード**です
* "Acme Corp" は Companies オブジェクトの**レコード**です
**例え:**
| データモデルの概念 | 実世界のたとえ |
| ---------- | ------------------- |
| **オブジェクト** | 本のセクション(カテゴリ) |
| **フィールド** | スプレッドシートの列(プロパティ) |
| **レコード** | スプレッドシートの行(実際のエントリ) |
データモデル(オブジェクト + フィールド)は一度設計し、その構造の中で多数のレコードを作成します。
## データモデルをカスタマイズする理由
すべてのビジネスは違った方法で動作します。 データモデルをカスタマイズすれば、硬直的なシステムに自分のプロセスを押し込めるのではなく、Twenty を**あなたの**プロセスに合わせて形作れます。
Twenty は高い柔軟性を提供します:
* 必要なだけカスタムオブジェクトを作成できます
* 無制限にカスタムフィールドを追加できます
* カスタマイズしても価格は変わりません
## データモデルを設計するためのヒント
### 1. コアとなるオブジェクトから始める
取り扱う主要な概念を特定しましょう。 Twenty にはすでに次のものが用意されています:
* **People** — 連絡先
* **Companies** — 取引先
* **Opportunities** — 商談
他に何が必要か考えてみましょう:
* Stripe には `Subscriptions` オブジェクトが必要になるでしょう
* Airbnb には `Trips` オブジェクトが必要になるでしょう
* アクセラレーターには `Batches` オブジェクトが必要になるでしょう
### 2. バリエーションには新規オブジェクトではなくフィールドを使う
既存オブジェクトの単なる特性であれば、**フィールド**にしましょう。
**フィールドを使うケース:**
* カテゴリやラベル(例:Companies の `Industry`)
* ステータス値(例:Opportunities の `Stage`)
* 属性やプロパティ
### 3. 独立して成立する場合はオブジェクトを作成する
その概念に固有のライフサイクル、プロパティ、またはリレーションシップがあるなら、オブジェクトにする価値があります。
**オブジェクトを作成する対象:**
* **Projects** — 期限、所有者、タスクを持つもの
* **Subscriptions** — 会社、製品、請求書を結びつけるもの
* **Events** — 参加者とフォローアップアクションを伴うもの
これらは単一のフィールドを超えており、独自のデータと関係を有しています。
### 4. レコード数が不定の場合はオブジェクトを作成する
関連付け回数が複数で、どれだけになるかわからない場合は、オブジェクトを使用します。
**悪いアプローチ:**
`Product 1`、`Product 2`、`Product 3` のようなフィールドを作成する...
**良いアプローチ:**
`Products` オブジェクトを作成してレコードに関連付ける。 こうすることで、製品が1つでも100でも、モデルを変更せずに対応できます。
### 5. まずはシンプルに
まずはフィールドから始めましょう。 限界を感じたときにのみ新しいオブジェクトへ移行しましょう:
* 1つのオブジェクトにフィールドが多すぎる
* 別々にすべきレコードが繰り返されている
* リレーションがうまく収まらない
## 人、会社、機会に関する特別な注意事項
<Warning>
**メールとカレンダーの同期は、人、会社、機会でのみ機能します。**
メールボックス/カレンダーから同期済みのメールやミーティングにアクセスできるのは、これらのオブジェクトだけです。 可能な限りこれらを使用することを推奨します。
</Warning>
**ベストプラクティス:**
* 「人」のカテゴリが必要な場合は、新しいオブジェクトではなくフィールドを使用してください
* 例: 別々のオブジェクトを作成するのではなく、値として「見込み客」と「パートナー」を持つ `Person Type` フィールドを使用します
* フィルター用に別々の**ビュー**を作成します: 1つはパートナーを表示し、もう1つは見込み客を表示します
**すべてのレコードに当てはまらないフィールドがあっても問題ありません。** 例えば、`Person Type = Partner` の場合にのみ適用される、「人」オブジェクトの `Referral Link` フィールド。 関連しないビューではこのフィールドを非表示にします。
## 選択を導くための質問
自問してください:
<Check>これは、すでに持っているものの単なるプロパティですか、それとも独自のプロパティが必要ですか?</Check>
<Check>各レコードで、その数を事前に知らずに複数を追跡する必要がありますか?</Check>
<Check>この概念は、1つだけでなく複数の異なるオブジェクトに関連しますか?</Check>
<Check>それは独自のライフサイクル(ステージ、開始/終了日)を持ちますか?</Check>
1つ以上に "はい" と答えるなら、新しいオブジェクトにする時期かもしれません。
## データモデルへのアクセス
1. 左サイドバーの**設定**に移動します
2. **データモデル**をクリックします
3. すべてのオブジェクト(標準およびカスタム)を表示します
4. 任意のオブジェクトをクリックして、そのフィールドを表示・編集します
<Note>
**設定にデータモデルが見当たりませんか?**
データモデルへのアクセスは通常、管理者に制限されています。 アクセスが必要な場合は、ワークスペース管理者に連絡してください。
</Note>
## 次のステップ
データモデルの計画が完了したら:
* [カスタムオブジェクトの作成方法](/l/ja/user-guide/data-model/how-tos/create-custom-objects)
* [カスタムフィールドの作成方法](/l/ja/user-guide/data-model/how-tos/create-custom-fields)
* [リレーションフィールドの作成方法](/l/ja/user-guide/data-model/how-tos/create-relation-fields)
## ヘルプが必要ですか?
<Tip>
データモデルの設計でサポートが必要ですか? [Find a Certified Twenty partner](https://twenty.com/partners/list?categories=SOLUTIONING\&ref=docs-data-model) は、オブジェクト、フィールド、リレーションシップを設計および構築します。
</Tip>