Files
twenty/packages/twenty-docs/l/cs/user-guide/data-model/how-tos/create-many-to-many-relations.mdx
T
github-actions[bot] 001c2097a3 i18n - docs translations (#18231)
Created by Github action

<!-- mintlify-editor-comments:start -->
Mintlify
---
0 threads from 0 users in Mintlify

- No unresolved comments
<!-- mintlify-editor-comments:end -->

<!-- mintlify-comment-->

<a
href="https://dashboard.mintlify.com/twenty/twenty/editor/i18n-docs?source=pr_comment"
target="_blank" rel="noopener noreferrer"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://d3gk2c5xim1je2.cloudfront.net/assets/open-mintlify-editor-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://d3gk2c5xim1je2.cloudfront.net/assets/open-mintlify-editor-light.svg"><img
src="https://d3gk2c5xim1je2.cloudfront.net/assets/open-mintlify-editor-light.svg"
alt="Open in Mintlify Editor"></picture></a>

<!-- /mintlify-comment -->

Co-authored-by: github-actions <github-actions@twenty.com>
2026-02-25 16:50:28 +01:00

181 lines
6.9 KiB
Plaintext

---
title: Vytváření vztahů mnoho-na-mnoho
description: Propojte záznamy, kde lze mnoho položek na obou stranách vzájemně propojit pomocí spojovacích objektů.
---
Vztahy mnoho-na-mnoho vám umožňují propojit více záznamů na obou stranách. Například: mnoho lidí může pracovat na mnoha projektech a každý projekt může mít mnoho lidí.
<Warning>
**Lab Feature**: Vztahy přes spojovací objekt jsou momentálně v Lab. Povolte je v **Settings → Updates → Lab** předtím, než budete pokračovat podle tohoto návodu.
</Warning>
<Note>
Tato funkce také vyžaduje, aby byl povolen **Advanced mode** (přepínač je vpravo dole v Settings).
</Note>
## Kdy použít mnoho-na-mnoho
Použijte mnoho-na-mnoho, když obě strany vztahu mohou mít více propojení:
| Vztah | Příklad |
| --------------------- | --------------------------------------------------------------------------- |
| Lidé ↔ Projekty | Osoba pracuje na více projektech; projekt má více členů týmu |
| Společnosti ↔ Štítky | Společnost může mít více štítků; štítek může platit pro více společností |
| Produkty ↔ Objednávky | Produkt může být v několika objednávkách; objednávka obsahuje více produktů |
## Jak to funguje
Twenty používá u vztahů mnoho-na-mnoho vzor **spojovacího objektu**. Spojovací objekt leží mezi dvěma objekty a uchovává propojení:
```
People ←→ Project Assignments ←→ Projects
```
Objekt **Project Assignments** (spojovací) má:
* Vztah na People (mnoho k jednomu)
* Vztah na Projects (mnoho k jednomu)
Když povolíte přepínač pro vztah přes spojovací objekt, Twenty zobrazí propojené záznamy přímo místo zobrazení prostředních záznamů spojovacího objektu.
## Předpoklady
1. **Povolte Junction Relations v Lab**: Přejděte do **Settings → Updates → Lab** a povolte **Junction Relations**
2. **Povolte Advanced mode**: Zapněte **Advanced mode** vpravo dole na postranním panelu Settings
3. Naplánujte svůj datový model:
* Které dva objekty propojujete?
* Jak by se měl jmenovat spojovací objekt?
## Krok 1: Vytvořte spojovací objekt
Nejprve vytvořte mezilehlý objekt, který bude uchovávat propojení.
1. Přejděte do **Nastavení → Datový model**
2. Klikněte na **+ New object**
3. Pojmenujte jej výstižně (např. "Project Assignment", "Team Member", "Product Order")
4. Klikněte na **Uložit**
<Tip>
**Konvence pojmenování**: Použijte název, který popisuje vztah, například "Project Assignment" nebo "Team Membership". Tím bude datový model srozumitelnější.
</Tip>
## Krok 2: Vytvořte vztahy ze spojovacího objektu
Přidejte relační pole ze spojovacího objektu do obou objektů, které chcete propojit.
### První vztah (Junction → Objekt A)
1. Vyberte svůj spojovací objekt v **Settings → Data Model**
2. Klikněte na **+ Add Field**
3. Zvolte **Relation** jako typ pole
4. Vyberte první objekt (např. "People")
5. Nastavte typ vztahu na **Many-to-One** (mnoho přiřazení může odkazovat na jednu osobu)
6. Pojmenujte pole:
* Pole na spojovacím objektu: např. "Person"
* Pole na People: např. "Project Assignments"
7. Klikněte na **Uložit**
### Druhý vztah (Junction → Objekt B)
1. Stále na spojovacím objektu klikněte na **+ Add Field**
2. Zvolte **Relation** jako typ pole
3. Vyberte druhý objekt (např. "Projects")
4. Nastavte typ vztahu na **Many-to-One**
5. Pojmenujte pole:
* Pole na spojovacím objektu: např. "Project"
* Pole na Projects: např. "Team Members"
6. Klikněte na **Uložit**
## Krok 3: Nakonfigurujte zobrazení vztahu přes spojovací objekt
Nyní nakonfigurujte zdrojové objekty tak, aby zobrazovaly propojené záznamy přímo a přeskočily mezilehlý spojovací objekt.
1. Přejděte do **Nastavení → Datový model**
2. Vyberte první objekt (např. "People")
3. Najděte relační pole směřující na spojovací objekt (např. "Project Assignments")
4. Klikněte pro úpravu pole
5. Povolte **"This is a relation to a Junction Object"**
6. Vyberte **Target relation** (např. "Project" — pole na spojovacím objektu, které ukazuje na druhou stranu)
7. Klikněte na **Uložit**
{/* TODO: Add image
<img src="/images/user-guide/fields/junction-relation-toggle.png" style={{width:'100%'}}/>
*/}
Opakujte pro druhý objekt:
1. Vyberte "Projects" v Data Model
2. Upravte relační pole "Team Members"
3. Povolte přepínač pro vztah přes spojovací objekt
4. Vyberte "Person" jako cílový vztah
5. Uložit
## Výsledek
Po konfiguraci:
* Na záznamu **Person** pole "Project Assignments" zobrazuje přímo **Projects** (nikoli záznamy přiřazení)
* Na záznamu **Project** pole "Team Members" zobrazuje přímo **People**
Spojovací objekt stále existuje a ukládá propojení, ale rozhraní zobrazuje čistší pohled mnoho-na-mnoho.
## Příklad: Lidé ↔ Projekty
Zde je kompletní postup:
### Vytvořte spojovací objekt
* Název: **Project Assignment**
* Popis: "Propojuje lidi s projekty, na kterých pracují"
### Přidejte vztahy
1. **Project Assignment → People**
* Typ: Many-to-One
* Pole na Assignment: "Person"
* Pole na People: "Project Assignments"
2. **Project Assignment → Projects**
* Typ: Many-to-One
* Pole na Assignment: "Project"
* Pole na Projects: "Team Members"
### Nakonfigurujte zobrazení spojovacího objektu
1. Na objektu **People**:
* Upravte pole "Project Assignments"
* Povolte přepínač pro vztah přes spojovací objekt
* Cíl: "Project"
2. Na objektu **Projects**:
* Upravte pole "Team Members"
* Povolte přepínač pro vztah přes spojovací objekt
* Cíl: "Person"
### Použití
* Otevřete záznam osoby → Uvidíte její projekty přímo
* Otevřete záznam projektu → Uvidíte členy týmu přímo
* Vytvářejte nová propojení z obou stran
## Přidávání doplňkových dat do propojení
Protože spojovací objekt je skutečný objekt, můžete přidat vlastní pole k ukládání informací o vztahu:
* **Role**: "Developer", "Designer", "Manager"
* **Start Date**: Kdy se k projektu připojili
* **Hours Allocated**: Týdenní počet hodin na tomto projektu
Pro přístup k těmto datům přejděte přímo na spojovací objekt nebo jej dotazujte přes API.
## Omezení
* **CSV Import/Export**: Přímý import vztahů mnoho-na-mnoho není podporován. Místo toho importujte záznamy do spojovacího objektu.
* **Filters**: Filtrování podle vztahů mnoho-na-mnoho může mít omezené možnosti.
## Související
* [Relační pole](/l/cs/user-guide/data-model/capabilities/relation-fields) — vysvětlení typů vztahů
* [Vytváření vlastních objektů](/l/cs/user-guide/data-model/how-tos/create-custom-objects) — jak vytvářet objekty
* [Vytváření relačních polí](/l/cs/user-guide/data-model/how-tos/create-relation-fields) — základní nastavení vztahů