Как рассчитать сумму столбцов в образце-флаконе администратора по строкам модели, выбранным пользователем с помощью фильтров - PullRequest
0 голосов
/ 03 января 2019

Я использую 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 (), потому что мне нужны выбранные фильтры и т. Д. Пользователем иЯ не знаю, как их решить.

...