I am using Flask-Admin and I am very happy with it.
The docs show several options that can be used to search predefined fields. I want to allow my users to use quotation marks to search, as for instance, in:
"some phrase of which the order should be intact"
How can I do this with Flask-Admin?
In Flask-Admin 1.3.0 you can override the _apply_search method in your admin view class. See the very simple code example below - mostly taken from the Flask-Admin sqla example app.py.
Essentially, you want to generate an SQL like %Your Phrase Here% for the columns in your column_searchable_list. The standard behaviour of _apply_search is to split the search input text on spaces and generate SQL like fragments for each term in the resultant array.
Instead, you can use a regular expression to see if a quoted string has been entered, extract the phrase within the quotes, create the appropriate SQL like fragment and then pass that on to the code that generates the query.
You can also do something similar to implement phrase filtering - see the class FilterPhrase in the code below and how it is used in the column_filters list definition.
For more sophisticated phrase searching you could use something like Whoosh, the built-in phrase searching capabilities of Postgres text searching (maybe combined with SQLAlchemy-Searchable) or even Elasticsearch.