在Flask Appbuilder视图中订购数据 [英] Ordering data in a Flask Appbuilder view

查看:30
本文介绍了在Flask Appbuilder视图中订购数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Flask Appbuilder 1.5.0,并且具有以下模型

I am using Flask Appbuilder 1.5.0 and have the following Model

class RegistrationTest(Model, ModelEnhancer):
    __tablename__ = "Registration"
    RegistrationID = Column(Integer, primary_key = True)
    CarNo = Column(String(10), nullable=False)
    FirstName = Column(String(30))
    LastName = Column(String(30))
    CarClassID = Column(Integer, ForeignKey('CarClass.CarClassID'), nullable=False)
    CarClass = relationship("CarClass")

以及以下视图

class RegistrationTestView(ModelView ):
    datamodel = SQLAInterface(RegistrationTest)
    name = "RegistrationTestView"
    page_size=1000
    label_columns = {'CarNo':'Car #', 'FirstName':'First Name','LastName':'Last Name'}
    list_columns = ['CarNo','FirstName','LastName']
    edit_columns = ['FirstName','LastName']
    show_columns = edit_columns
    add_columns = edit_columns
    order_columns = ['FirstName']

无论我在order_columns列表中输入什么值,数据总是按CarNo(主键)排序.关于我需要做什么以按另一列排序输出有什么建议吗?

No matter what value(s) I put in the order_columns list the data is always ordered by CarNo, which is the primary key. Any suggestions on what I need to do to order the output by another column?

谢谢!

推荐答案

您需要添加

You need to add base_order to your code.

自定义 Flask-appbuilder 要求您覆盖 API的 BaseModelView 参考:

base_order =无

base_order = None

使用此属性设置列表的默认顺序("col_name","asc | desc"):

Use this property to set default ordering for lists (‘col_name’,’asc|desc’):

class MyView(ModelView):
     datamodel = SQLAInterface(MyTable)
     base_order = ('my_column_name','asc')

另一方面, order_columns 是一个替代,它指定您是否允许用户对asc¦desc列进行重新排序.

On the other hand order_columns is an override which specifies whether you permit your user to re-order the columns asc¦desc.

这篇关于在Flask Appbuilder视图中订购数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆