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.
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
deInstructionDateOrderingFilter
), et de union (fonctionnullable_instructor
deDeclarationFilterSet
).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.