在Flask Appbuilder视图中订购数据 [英] Ordering data in a Flask Appbuilder view
问题描述
我正在使用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屋!