【发布时间】:2014-06-04 13:52:39
【问题描述】:
我正在访问一个 API,其中字段的数量可以随时更改,但我必须将数据存储并显示为表格。因此,API 中的每条记录都存储为每个字段的一条记录。我的问题是我无法确定如何一次按多列排序。在排序之前将所有数据放入一个二维数组(列表列表)不是一个可行的选择,因为记录的数量可能太大而无法在内存中保存。
我整理了一个简单的例子来解释。如果有人知道如何克服这个问题,或者我可以如何重新设计我的方法,我将不胜感激。
| record_id | field | data |
| 1 | x | 2 |
| 1 | y | 1 |
| 1 | z | 3 |
| 2 | x | 30 |
| 2 | y | 42 |
| 2 | z | 7 |
| 3 | x | 53 |
| 3 | y | 2 |
| 3 | z | 7 |
如果按字段 'z' 然后 'x' 排序(均升序),则记录顺序为 1,2,3
如果按字段 'z' 然后 'y' 排序(均升序),则记录顺序将为 1,3,2
我正在使用 django 中的模型进行存储,并且正在使用 QuerySets 来检索数据。我无法控制我最初从中访问数据的 API 或数据库。
【问题讨论】:
标签: database django django-queryset