betagouv / complements-alimentaires

MIT License
5 stars 0 forks source link

Permet de filtrer par déclaration non-assignée et d'effectuer le triage par date limite de réponse en même temps #1256

Closed alemangui closed 1 week ago

alemangui commented 1 week ago

Closes #1232

Contexte

Le bug arrivait lors qu'on effectué un filtre pour avoir les déclarations non-assignées et en même temps un triage par date limite de réponse.

L'erreur était : Calling QuerySet.annotate() after union() is not supported.

Scope

La combinaison de ces deux conditions en effet provoquait un appel de annotate utilisé pour le triage par date limite de réponse (fonction filter_queryset de InstructionDateOrderingFilter), et de union (fonction nullable_instructor de DeclarationFilterSet).

Il se trouve que le union du dernier n'était pas nécessaire et c'était possible (et même souhaitable) de re-factoriser cette fonction pour l'enlever.