Você está chamando
paginate()
em um objeto de consulta fornecido pelo SQLAlchemy, mas a funcionalidade de paginação está disponível apenas em um Flask-SQLAlchemy, que subclassifica o objeto de consulta base para adicionar este e outros recursos, incluindo o get_or_404()
e first_or_404()
métodos que você também descobriu que não funcionam. Tudo isso acontece porque você criou seu banco de dados e seu modelo usando SQLAlchemy diretamente em vez de usar as facilidades fornecidas pelo Flask-SQLAlchemy. Se você fizer isso de acordo com a documentação do Flask-SQLAlchemy você vai descobrir que tudo vai funcionar muito bem.