Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • G gestioCOF
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 76
    • Issues 76
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 16
    • Merge requests 16
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Klub Dev ENSKlub Dev ENS
  • gestioCOF
  • Merge requests
  • !470

Draft: Ajoute `get_queryset` dans `ModelSearch`

  • Review changes

  • Download
  • Patches
  • Plain diff
Closed Basile Clement requested to merge bclement/autocomplete-queryset into master Oct 23, 2020
  • Overview 13
  • Commits 1
  • Pipelines 0
  • Changes 3

Quand on utilise les vues d'auto-complétion, on a la possibilité de configurer des filtres avec get_queryset_filter, mais pas d'autres transformations sur le queryset. Notamment, cela signifie que pour les vues qui utilisent des ForeignKey, on ne peut pas spécifier de select_related pour éviter des requêtes inutiles et répétées lors du rendering des vues.

Ce patch ajoute une méthode get_queryset, en suivant la convention habituelle de Django, permettant cette configuration, et l'utilise pour appeler select_related de façon appropriée dans les vues qui en bénéficient.

À priori, cela devrait permettre de compenser la potentielle perte de performance de !469 (merged), qui a supprimé les select_related lors de la sélection des participants.

Attention, je n'ai pas testé ce code car je n'ai pas réussi à installer un environnement de développement sur ma machine (c'est-à-dire que j'ai arrêté d'essayer au bout de plusieurs erreurs). Je fais une MR pour que le code soit visible. Si quelqu'un veut tester, iel est lea bienvenue; sinon, je le ferai le jour où j'ai un environnement de dév qui marche.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: bclement/autocomplete-queryset