1

我有一个 django 模板,我希望在其中显示一个字段表。我希望表包含基于数据库字段子集的不同列。显示哪些字段基于 GET 调用(因此无法预先确定)。

我遇到的困难是我不能任意标记/排序列,然后让字段匹配。我正在使用 model.object.values 来选择我想要的列。

我尝试过的解决方案是:

  1. 遍历字典。这会以随机顺序返回字段,而且以不能保证跨数据库元素稳定的顺序返回,尽管在实践中似乎是这种情况。
  2. 使用 values_list,但我仍然无法控制顺序,但至少它是固定的。
  3. 传递字段名称,并使用它们来访问字典,但是我无法弄清楚如何使用参数调用 dict.get。我认为这是故意不可能的。
  4. 2和3一起。如果没有一些难看的嵌套字符串比较和索引黑客,就没有明显的方法可以使这项工作。
  5. 迭代项目,这似乎需要嵌套循环来确定哪个元素进入哪个单元格。

任何帮助,将不胜感激。

NB dictsort 对行进行排序,而不是对列进行排序。

4

1 回答 1

0

您可以使用 #3 并使用此处建议的模板过滤器,或者仅在视图中准备数据,而不是尝试在模板中执行此操作。更具体地说,您可以按照您选择的顺序创建列标题列表,并为数据库中的每个对象以正确的顺序创建一个值元组。

于 2012-07-18T14:28:45.197 回答