arrange
¶
Description¶
Fonction de réorganisation des tuples d'un groupe multi. Cette action regroupe les fonctions de tri, de filtre et de pagination des tuples d'un groupe multi.
L'action est sans effet sur les groupes single, et donc a fortiori sur le groupe principal (maingroup).
Cette action peut jouer un rôle important pour le contrôle des performances d'une application. En effet, elle permet d'éviter le chargement d'un grand nombre de tuples dans le cas de groupes multi.
Lorsqu'elle est invoquée, l'action force un (re-)chargement des données à partir de la base de données. Cela n'est possible que si les tuples présents en mémoire sont synchrones avec la base de données. Cela suppose que soit:
- l'attribut
autoflush
est activé au niveau du modèle - l'utilisateur a effectué un save explicite si l'autoflush n'est pas actif
- il n'y a aucun changement sur les tuples en mémoire par rapport à la valeur chargée à partir de la base de données
Si ces conditions sont remplies, alors les tuples en mémoire sont supprimés puis rechargés à partir de la base de données en tenant compte des règles passées à l'action (règles de filtre, de tri et/ou de pagination)
Les paramètres de l'action peuvent être passés selon deux modes distincts:
absolute
: c'est le mode par défaut, dans ce cas l'action s'attend à ce que les paramètres d'un type d'arrangement (sort
oufilter
) soient passés dans leur intégralité. Cela signifie que si une règle n'est plus présente, elle est considérée comme abandonnée.-
relative
: dans ce cas, l'action s'attend à ne recevoir que les changements de règles par rapport à l'état actuel. Cela signifie que si une règle n'est pas présente, elle est considérée comme inchangée. Les tris avec un ordre vide sont interprétés comme des suppression de critère (le champ n'est plus pris en compte dans le tri).Dans le cas des règles de tri, le mode relatif bénéficie d'une option supplémentaire. Le paramètre
position
permet d'indiquer comment la règle de tri relative doit être prise en compte. Les valeurs possibles sont:start
: indique que la règle de tri relative doit être ajoutée avant les autres. Elle aura donc un poids plus important que les autres.end
: indique que la règle de tri relative doit être ajoutée après les autres. Elle aura donc un poids moins important que les autres.
La position par défaut est
start
.
Schéma¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |
|