嗨,我是python的新手/中级,对Django和网络应用程序来说都是新手。我已经能够弄清楚我的应用程序运行和处理基本输入/输出的大部分内容。
我开始为最终用户格式化我的数据,我发现django-tables2看起来非常有前途,但我无法按照自己的意愿定制它。
基本上django-tables2直接从模型中获取一些数据,并将其格式化为:
+------------------------+
| ID | Foo | Bar | Num |
+------------------------+
| 1 | Foo1 | Bar1 | 20 |
| 2 | Foo1 | Bar2 | 25 |
| 3 | Foo2 | Bar1 | 30 |
| 4 | Foo2 | Bar2 | 30 |
+------------------------+
(这有点基于我的数据,但要点是它为每个ID显示一行)。
我想要做的是更改它,以便数据组织如下:
+--------------------+
| Foos | Bar1 | Bar2 |
+--------------------+
| Foo1 | 20 | 25 |
| Foo2 | 30 | 30 |
+--------------------+
到目前为止,我的代码几乎与django-tables2 tutorial中的代码完全相同,只能以第一种方式工作。我已经玩过手动更改列名,甚至通过模板自己构建它,但我仍然坚持将值填充到正确的位置。
我愿意解决我的问题。
BONUS:我已经能够使用表单成功地将数据添加到我的表中,但我希望能够在表格中添加数据 。(如电子表格)
我研究过使用jquery,我认为它有很多方法可以解决这个问题,但我对它几乎一无所知,似乎我不得不花很多时间去追赶使用它。这里有什么想法吗?*
答案 0 :(得分:0)
如果我读得正确,我认为你仍然坚持如何转动表格
你可以用PANDAS做到这一点。 Pandas使用数据框而不是查询集,因此您还需要django-pandas。 安装并添加到模型中后,您可以查询数据,转换为数据帧,然后创建数据透视。你将拥有一个数据帧结构,我不知道如何将它恢复为django本身可以使用的格式,但我认为你将走向正确的道路。
示例代码:
queryset = Model.objects.all()
dataframe = queryset.to_dataframe()
pivot = dataframe.pivot('foo', 'bar')
http://pandas.pydata.org/pandas-docs/stable/reshaping.html会帮助你。
希望有所帮助!