Flask-Admin:按不同字段对列进行排序
Flask-Admin: sort column by different field
我试图在 Flask-Admin 中控制模型列表的排序,但我对 column_sortable_list
的工作原理有点困惑。 (我相信这就是我应该使用的。)
就我而言,我有两列感兴趣:“word”,一个文本列,和“created”,一个时间戳。问题是,我希望“word”在单独的数据库字段(在同一个 table 中)、“sortable_word”上排序,这是“word”的一个版本,正则化为小写,带有重音符号字符替换为它们的非重音版本,所有非 [a-z] 字符被删除等。
文档说“如果你想在排序时明确指定要使用的 field/column,你可以使用元组”,并显示示例 column_sortable_list = ('name', ('user', 'user.username'))
,但示例不是对,要不我看不懂格式。
对我来说,column_sortable_list = ('word', ('word', 'sortable_word'))
不行; “word”仅根据“word”排序。使用 ('word', ('word', 'sortable_word'), 'created')
以同样的方式失败,但也按“创建”(正确)排序。如果我使用 (('word', 'sortable_word'), 'created')
,那么只有“创建”是 sortable.
正确的语法是什么?
我使用这样的方括号,但是我在文档中找不到它...
column_sortable_list = [
'word',
'created'
]
按如下方式编写您的专栏:
# Only sorting on one column
column_sortable_list = (('word', ('sortable_word', )), )
# multiple sort columns
column_sortable_list = (('word', ('sortable_word', )), 'created')
我试图在 Flask-Admin 中控制模型列表的排序,但我对 column_sortable_list
的工作原理有点困惑。 (我相信这就是我应该使用的。)
就我而言,我有两列感兴趣:“word”,一个文本列,和“created”,一个时间戳。问题是,我希望“word”在单独的数据库字段(在同一个 table 中)、“sortable_word”上排序,这是“word”的一个版本,正则化为小写,带有重音符号字符替换为它们的非重音版本,所有非 [a-z] 字符被删除等。
文档说“如果你想在排序时明确指定要使用的 field/column,你可以使用元组”,并显示示例 column_sortable_list = ('name', ('user', 'user.username'))
,但示例不是对,要不我看不懂格式。
对我来说,column_sortable_list = ('word', ('word', 'sortable_word'))
不行; “word”仅根据“word”排序。使用 ('word', ('word', 'sortable_word'), 'created')
以同样的方式失败,但也按“创建”(正确)排序。如果我使用 (('word', 'sortable_word'), 'created')
,那么只有“创建”是 sortable.
正确的语法是什么?
我使用这样的方括号,但是我在文档中找不到它...
column_sortable_list = [
'word',
'created'
]
按如下方式编写您的专栏:
# Only sorting on one column
column_sortable_list = (('word', ('sortable_word', )), )
# multiple sort columns
column_sortable_list = (('word', ('sortable_word', )), 'created')