api: do not fully load the related table when filtering on an item(s) field (#74320) #101
Loading…
Reference in New Issue
No description provided.
Delete Branch "wip/74320-Optimiser-la-generation-de-crite"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
J'ai déplacé ItemField.get_display_value() dans ItemFieldMixin, pour l'avoir aussi dans ItemsField, la méthode fait toujours des trucs qui n'ont pas grand chose avoir pour aider au fonctionnement de wcs.qommon.forms.JsonpSingleSelectWidget, je laisse ce dépatouillage pour un autre jour.
Le test se base sur la fixture sql_queries (que j'ai du modifier au passage, les curseurs étant utilisés comme contextmanager dans la méthode select() désormais, ça consiste juste à remplacer Mock par MagicMock pour que enter()/exit() soient implémentés) et valide juste qu'il y a une seule requête vers la table des fiches et qu'elle contient bien un filtre sur l'id.
@ -100,3 +100,3 @@
def cursor(*args, **kwargs):
cur = old_cursor(*args, **kwargs)
mocked_cur = mock.Mock(wraps=cur)
mocked_cur = mock.MagicMock(wraps=cur)
Qu'est-ce que ça implique ?
(ok il n'y a pas le commentaire initial dans la vue "fichiers modifiés", c'est répondu).
pour moi ok, grosse amélioration en local (requête api avec un filtre sur un champ item, branché sur un modèle de fiche comportant 10000 fiches)
A priori ça doit même améliorer les choses en backoffice, vu que c'est le même code qui tourne pour filtrer les tableaux.
e728fb6cb0
to9d2b4f1d09
9d2b4f1d09
toe1f8d16848