Vous appelez paginate()
sur un objet de requête fourni par SQLAlchemy, mais la fonctionnalité de pagination n'est disponible qu'à partir d'un Flask-SQLAlchemy, qui sous-classe l'objet de requête de base pour ajouter ceci et d'autres fonctionnalités, y compris le get_or_404()
et first_or_404()
méthodes que vous avez également trouvées ne pas fonctionner.
Tout cela se produit parce que vous avez créé votre base de données et votre modèle en utilisant directement SQLAlchemy au lieu d'utiliser les fonctionnalités fournies par Flask-SQLAlchemy. Si vous le faites conformément à la documentation Flask-SQLAlchemy vous constaterez que tout fonctionnera très bien.