【发布时间】:2018-02-09 02:47:05
【问题描述】:
您好,我有一张桌子:
class MyTable(tables.Table):
brand = tables.Column(verbose_name='Brand')
market = tables.Column(verbose_name='Market')
date = tables.DateColumn(format='d/m/Y')
value = tables.Column(verbose_name='Value')
我正在用list of dicts 填充表格,然后我正在配置它并以通常的 django-tables2 方式在我的视图中呈现它:
data = [
{'brand': 'Nike', 'market': 'UK', 'date': <datetime obj>, 'value': 100},
{'brand': 'Django', 'market': 'FR', 'date': <datetime obj>, 'value': 100},
]
table = MyTable(data)
RequestConfig(request, paginate=False).configure(table)
context = {'table': table}
return render(request, 'my_tmp.html', context)
这一切都很好地呈现了表格,其中包含正确的数据。但是,我可以按网页上的date 列和value 列进行排序,但不能按brand 和market 排序。因此,似乎可以对非字符串值进行排序,但不能对字符串进行排序。我一直在试图弄清楚如何进行这种排序,是否可以使用非查询集数据?
我无法使用查询集填充表,因为我正在使用自定义方法来生成 value 列数据。任何帮助表示赞赏!我想我需要在我的tables.Column 中指定order_by 参数,但还没有找到正确的设置。
【问题讨论】:
标签: python django django-tables2