Я использую flask-admin и хочу отобразить сумму столбцов одной из моих моделей в соответствующем представлении.Я объявил модель как это:
class Banktransfer(db.Model):
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
booking_date = db.Column(db.Date, nullable=False)
purpose = db.Column(db.String(255))
amount = db.Column(db.Float, nullable=False)
В соответствующем представлении я добавил column_filter и поле поиска.Кроме того, я вычисляю баланс (сумму столбца «сумма» по всем строкам) и передаю его в шаблон, чтобы он мог отображаться в верхней части страницы.
class BanktransferView(sqla.ModelView):
column_filters = ("booking_date",)
column_searchable_list = ('purpose',)
list_template = 'banktransfer_list.html'
@expose('/')
def index_view(self):
self._template_args['balance'] = self.get_balance()
return super(BanktransferView, self).index_view()
def __init__(self, session, **kwargs):
super(BanktransferView, self).__init__(Banktransfer, session, **kwargs)
def get_balance(self):
balance = self.session.query(func.sum(Banktransfer.amount)).first()[0]
return balance
Я также хотел бы отобразить сумму столбца «сумма» по всем строкам, которые выбираются с помощью фильтров и окна поиска пользователем.Может кто-нибудь помочь мне здесь?Моя идея в основном состоит в том, чтобы передать другое значение в шаблон следующим образом:
self._template_args['balance_of_selected'] = self.get_balance_of_selected()
Но я не знаю, как реализовать метод get_balance_of_selected (), потому что мне нужны выбранные фильтры и т. Д. Пользователем иЯ не знаю, как их решить.