我只想在Flask-Admin模型列表视图中显示已付款的订单。
这是models.py:
class Order(db.Model):
id = db.Column(db.Integer, primary_key=True)
amount = db.Column(db.Integer)
description = db.Column(db.String)
paid = db.Column(db.Boolean, default=False)
这是Flask-Admin的ModelView:
class OrderView(ModelView):
column_filters = ("paid")
admin.add_view(OrderView(Order, db.session))
过滤器工作正常,但我想将此过滤器设为默认值。更好的是,不要使用过滤器,而只显示Order.query.filter(Order.paid==True)
查询输出的顺序。
Flask-Admin是否可以使用?
我们通过覆盖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))
让我知道这是否不适合您,我可以再看看。
问题内容: 如何从“全部”更改默认过滤器选择?我有一个名为领域它有三个值:和。当我在Django admin中使用时,默认情况下将过滤器设置为“全部”,但默认情况下我想将其设置为待处理。 问题答案:
参见文档“10. Web”部分
Pear Admin 社区拥抱 Python 生态,基于 Flask 1.12 推出 Flask Admin 后台管理系统,得益于Python 的生态广泛应用,通过使用本系统,即可快速构建你的功能业务; 项目旨在为 Python 开发者提供一个后台管理系统,成为您构建信息管理系统,物联网后台....等等应用时灵活,简单的快速开发平台; 版本说明 Common [ 通用版本 ] -- 基于 Mysq
问题内容: 我有一个与另一个对象具有多对多关系的对象。 在Django Admin中,这会在多重选择框中产生很长的列表。 我想过滤掉ManyToMany关系,所以我只获取客户选择的城市中可用的类别。 这可能吗?我需要为其创建一个小部件吗?如果是这样,我该如何将行为从标准ManyToMany字段复制到该字段,因为我也希望filter_horizontal函数。 这些是我的简化模型: 问题答案:
问题内容: 我必须从Spring Security堆栈中排除一个默认过滤器。因此,所有过滤器都应照常工作。看来我找到了解决方法,请创建自定义FilterChainProxy: 如您所见,它具有获取过滤器列表的构造函数,因此我将能够根据需要从链中删除一个过滤器,其余所有过滤器将照常工作。但是我不能在这样的构造函数的安全配置中制作bean。如果我用 当然,使用默认构造函数构建对象。好的,我尝试用一
vue-admin-flask-example vue-admin和flask前后端分离的小例子 本地预览 Docker 本机安装docker的话直接在根目录运行 docker-compose up -d 再打开打包的目录dist下的index.html即可 源码 依此按照下面命令 D:\Github\vue-admin-flask-example$ npm installD:\Github\vu