ae-utbm / sith

🌐 The website of the AE
https://ae-utbm.github.io/sith/
GNU General Public License v3.0
6 stars 4 forks source link

fix: InvoiceQuerySet.annotate_total() #872

Closed imperosol closed 1 week ago

imperosol commented 1 week ago

Dans la PR #859 j'avais optimisé le chargement des pages des comptes utilisateurs en créant des méthodes de QuerySet qui réalisaient des aggrégations sur la somme totale associée à des achats, des rechargements ou des factures eboutic.

Dans le lot, la requête pour récupérer le montant total des rechargements eboutic n'était pas bonne. Elle utilisait une Subquery qui ne faisait pas bien l'aggrégation. Pour les factures eboutic qui ne comportent qu'un seul item, le problème n'est pas visible. En revanche, quand il y a plusieurs items, la requête retourne des résultats incohérents avec SQLite, et plante carrément avec Postgres.

Heureusement, ce que je voulais réaliser est bien documenté par Django, donc un coup de RTFM m'a permis de réparer ça.