Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cohérence offset API / OFFSET SQL et numéro de page #19

Open
lpofredc opened this issue Aug 25, 2021 · 1 comment
Open

Cohérence offset API / OFFSET SQL et numéro de page #19

lpofredc opened this issue Aug 25, 2021 · 1 comment

Comments

@lpofredc
Copy link
Contributor

Lors de l'appel à l'API d'export du module d'export, le paramètre offset correspond au numéro de page de la réponse (clé page dans la réponse d'API), différent d'un OFFSET SQL

data = q.limit(self.limit).offset(self.offset * self.limit).all()

Lorsque OFFSET vaut 0 (et donc aussi la page), alors il renvoie automatiquement les premières lignes de la réponse (OFFSET sql désactivé)

Lorsque le nombre de données est inférieur à la limite du nombre de réponse, alors la page vaut également 0.

Ne serait-ce pas plus logique d'utiliser une variable page correspondant à un vrai numéro de page plutôt qu'à un paramètre offset différent d'un OFFSET SQL, cf. PnX-SI/Utils-Flask-SQLAlchemy.

le OFFSET SQL serait alors calculé avec offset = limit * (page - 1).

@bouttier
Copy link
Contributor

bouttier commented Dec 9, 2021

Flask-SQLAlchemy propose déjà un utilitaire pour gérer la pagination : https://flask-sqlalchemy.palletsprojects.com/en/2.x/api/#flask_sqlalchemy.Pagination
Il serait intéressant de voir à l’utiliser plutôt que de devoir maintenir la même chose de notre côté.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants