SQLAlchemy integration of jQuery DataTables
It only depends on SQLAlchemy, and is compatible with version 1.10.x of DataTables.
To install the stable version:
pip install sqlalchemy-datatables
@view_config(route_name='data', renderer='json') def data(request): """Return server side data.""" # defining columns # - explicitly cast date to string, so string searching the date # will search a date formatted equal to how it is presented # in the table columns = [ ColumnDT(User.id), ColumnDT(User.name), ColumnDT(Address.description), ColumnDT(func.strftime('%d-%m-%Y', User.birthday)), ColumnDT(User.age) ] # defining the initial query depending on your purpose # - don't include any columns # - if you need a join, also include a 'select_from' query = DBSession.query().\ select_from(User).\ join(Address).\ filter(Address.id > 4) # instantiating a DataTable for the query and table needed rowTable = DataTables(request.GET, query, columns) # returns what is needed by DataTable return rowTable.output_result()
You can find detailed a working example for Pyramid in the repository, including per column search, and one with the yadcf plugin. Currently the Flask example is not working
# go to directory cd sqlalchemy-datatables/examples/pyramid_tut # install example app pip install -e . # initialize the database initialize_pyramid_tut_db development.ini # start server pserve development.ini # browse to localhost:6543
The latest documentation is available online on Read the Docs.
All notable changes to this project will be documented in this section.
The project is licensed under the MIT license.