1

根据文档,使用order_columns您可以指定哪些列允许排序,在标题中添加蓝色箭头以选择升序或降序排序。

但是,我也想通过名为“softwareproduct”的关系对另一个表进行排序,但是当我将其添加到 order_columns 时,它会崩溃(因为它不是真正的列,而是关系)。该文档还列出了 order_rel_fields,我也尝试过,但没有向“softwareproduct”“列”/关系添加排序功能: FAB 原型的屏幕截图,其中

Add_columns、edit_columns、show_columns 和 list_columns 工作得非常好,只有 order 不能,尽管“softwareproduct”在技术上不是一个真正的列而是一个关系。

我怎样才能让用户对这种关系进行排序?

模型.py

[...]
class Softwareproduct(Model):
    suffix = Column(String(200), primary_key=True)
    label =  Column(String(200), nullable=False)
    [...]
    def __repr__(self):
       return self.label

class Citation(Model):
    suffix = Column(String(200), primary_key=True)
    swp_suffix = Column(String(200), ForeignKey("softwareproduct.suffix"),nullable=False)
    softwareproduct = relationship("Softwareproduct")
    label =  Column(String(200), nullable=False)
                                                                                                                                                                                                                                                                                                                              
    def __repr__(self):
        return self.label

视图.py

class CitationView(ModelView):
    datamodel = SQLAInterface(Citation)
    label_columns = {'label':'Citation', 'suffix': 'ID'}
    add_columns = ['softwareproduct', "label", "suffix", "classified"]
    edit_columns = ['softwareproduct', "label", "suffix","classified"]
    show_columns = ['softwareproduct', "label", "suffix","classified"]
    list_columns = ['softwareproduct', "label", "suffix","classified"]                                                                                                                                                                                                                                                        
    order_columns= ["label","suffix"]
    order_rel_fields = {'softwareproduct': ('label', 'asc')}
    related_views = [ClassifiedView]
4

1 回答 1

0

改变

order_columns= ["label","suffix"]

base_order = ("label", "asc")
于 2020-12-08T17:53:20.380 回答