Ответ 1
Мы делаем это в нашем приложении, переопределяя ModelView.
https://github.com/mrjoes/flask-admin/blob/master/flask_admin/contrib/sqla/view.py#L654
Я немного искал исходный код для Flask-Admin, и они упростили использование API, так как мы в последний раз редактировали этот код, потому что похоже, что вы можете просто сделать:
from flask.ext.admin.contrib.sqla.view import ModelView, func
class PaidOrderView(ModelVew):
def get_query(self):
return self.session.query(self.model).filter(self.model.paid==True)
def get_count_query(self):
return self.session.query(func.count('*')).filter(self.model.paid==True)
(Мы переопределили get_list(), который не так велик.)
Затем вы можете использовать его, например:
admin.add_view(PaidOrderView(Order, db.session))
Сообщите мне, если это не сработает для вас, и я могу взглянуть еще раз.