Metadata-Version: 2.4
Name: forge-mvc-pivot
Version: 1.0.0b17
Summary: Forge pivot — tables pivot enrichies (many_to_many avec attributs) et generateur make:pivot-crud.
Author: Roger Lequette
License-Expression: LicenseRef-Forge-Proprietary
Project-URL: Homepage, https://github.com/caucrogeGit/Forge
Project-URL: Repository, https://github.com/caucrogeGit/Forge
Project-URL: Documentation, https://forgemvc.com/docs/forge/
Keywords: python,mvc,forge,pivot,many-to-many
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: forge-mvc<2,>=1.0.0b17
Dynamic: license-file

# forge-mvc-pivot

Opt-in Forge pour les **tables pivot enrichies** : associations `many_to_many`
portant des attributs (par exemple `position`, `note`) sur la ligne de jointure.

Extrait du core de Forge (ADR-021) : le core ne contient que les primitives
générales ; le pivot avancé est une brique spécialisée, optionnelle.

## Contenu

- `PivotAdvancedService` : lecture et écriture d'associations pivot avec
  attributs, contraintes déclaratives (`required`, `nullable`, `unique_pair`),
  accès base injectables (`fetch_one`, `fetch_all`, `execute`, `insert_fn`).
- `PivotFieldConstraint`, `PivotRow`, `PivotFormError`, `PivotConstraintError`,
  `pivot_error_to_form_error` : contraintes, résultats et erreurs structurées.
- Générateur `forge make:pivot-crud <EntitéSource> <nomRelation>` : échafaude un
  sous-CRUD pivot à partir d'une relation `many_to_many` déclarée dans
  `relations.json`.

## Installation

```bash
pip install --pre forge-mvc-pivot
```

Le code généré importe `forge_mvc_pivot` : installez le paquet avant de lancer
une application qui s'appuie sur un sous-CRUD pivot.
