Le SQL de consultation¶
Objectif : voir le SQL de lecture filtrable des événements.
Ce que vous allez apprendre : get_stats_events_admin_sql construit un SELECT
filtrable (nom, catégorie, limite) ; prepare_stats_events_admin_params fournit ses
paramètres liés. SQL visible, filtres paramétrés.
Premier palier du niveau avancé de la progression stats.
Module opt-in
Ce starter suppose forge-mvc-stats installé (palier « Installation »).
Ce que ce starter montre¶
- un filtre optionnel par catégorie ;
get_stats_events_admin_sql→ leSELECT;prepare_stats_events_admin_params→ ses paramètres.
Classes Forge utilisées¶
| Classe / fonction | Rôle dans ce starter | Référence |
|---|---|---|
forge_mvc_stats.get_stats_events_admin_sql |
Le SELECT filtrable. |
Stats |
forge_mvc_stats.prepare_stats_events_admin_params |
Les paramètres du SELECT. |
Stats |
Tester¶
Ouvrez https://localhost:8000/stats-admin-sql?category=navigation : le SELECT adapté.
Le contrôleur¶
# mvc/controllers/stats_admin_sql_controller.py
from forge_mvc_stats import get_stats_events_admin_sql, prepare_stats_events_admin_params
category = request.param("category") or None
sql = get_stats_events_admin_sql(category=category, limit=20)
params = prepare_stats_events_admin_params(category=category, limit=20)
Comprendre ce code¶
- Le SQL s'adapte aux filtres fournis (nom, catégorie) tout en restant paramétré.
- Voir le
SELECTavant de l'exécuter garde le comportement transparent (SQL visible). - La limite protège contre les lectures non bornées.
À retenir¶
get_stats_events_admin_sql+ params = leSELECTfiltrable, sans exécuter.- Filtres paramétrés, limite par défaut.
- SQL visible aussi en lecture.
Après ce starter¶
La suite : exécuter cette lecture et obtenir des événements.