我正在使用Flask Appbuilder 1.5.0并具有以下模型
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排序,这是主键。有关我需要做什么的建议,以便通过另一列订购输出?
谢谢!
答案 0 :(得分:0)
您需要在代码中添加base_order
。
自定义Flask-appbuilder
要求您使用BaseModelView
覆盖API Reference:
base_order =无
使用此属性设置列表的默认顺序 (“ col_name”,“ asc | desc”):
class MyView(ModelView):
datamodel = SQLAInterface(MyTable)
base_order = ('my_column_name','asc')
另一方面,order_columns
是一个覆盖,它指定您是否允许用户对asc¦desc列进行重新排序。