Débutant 3 : La liste paginée¶
Objectif : consulter les lignes de l'entité depuis le back-office.
Ouvrir la liste¶
Depuis le tableau de bord, la ressource « Articles » mène à /admin/articles.
La page affiche un tableau :
- une colonne par champ de
list_fields; - une ligne par enregistrement ;
- une pagination en bas (page courante, précédent, suivant).
Comment la liste lit la base¶
La liste construit une requête contrainte à partir de votre déclaration :
Seules les colonnes déclarées entrent dans la requête.
Les bornes de pagination passent par des paramètres.
Il n'y a pas d'ORM ni d'introspection : le SQL reste lisible et prévisible.
Choisir le tri¶
Par défaut, la liste trie sur le premier champ de list_fields.
Pour trier sur une autre colonne, ajoutez order_by à la ressource :
registry.register(AdminResource(
entity="Article",
slug="articles",
label="Article",
plural_label="Articles",
list_fields=("title", "published_at"),
form_fields=("title", "body"),
table="articles",
order_by="published_at",
))
À retenir¶
- La liste est paginée et triée, à partir de votre seule déclaration.
- Le SQL est contraint : colonnes en liste blanche, valeurs paramétrées.