在Flask Appbuilder视图中订购数据

时间:2017-05-22 21:28:30

标签: python flask

我正在使用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排序,这是主键。有关我需要做什么的建议,以便通过另一列订购输出?

谢谢!

1 个答案:

答案 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列进行重新排序。