分享

horizon二次开发

chelseaf 发表于 2017-5-18 23:25:59 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 5 8281
自己在admin下做了一个panel,现在想在自己的mytable里写数据。数据应该是在get_data()里写的。想问下如下的 my_api.objects.list()返回值的格式应该是什么样的。假设table里column只定义了一列name=tables.Column('name',verbose_name=_('Name'))。我本来以为是类[{'name':getname()}] 这样的字典列表,但是无法显示。
class MyTableView(tables.DataTableView):    table_class = MyTable    template_name = "my_app/my_table_view.html"    def get_data(self):        return my_api.objects.list()


已有(5)人评论

跳转到指定楼层
chelseaf 发表于 2017-5-19 09:15:54
本帖最后由 chelseaf 于 2017-5-19 09:18 编辑

这个乱码里是在class MyTable(tables.DataTable)里定义了一列 name = tables.Column("name", verbose_name=_("Name"))。
DataTableView的定义是
class MyTableView(tables.DataTableView):   
      table_class = MyTable   
      template_name = “my_table_view.html"   
      def get_data(self):        
      return my_api.objects.list()

想问的是返回值函数my_api.objects.list()的返回值格式


回复

使用道具 举报

arsenduan 发表于 2017-5-19 13:06:35
chelseaf 发表于 2017-5-19 09:15
这个乱码里是在class MyTable(tables.DataTable)里定义了一列 name = tables.Column("name", verbose_name= ...

list有多种,取决于你如何定义的,如下面两个都是list.
list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5, 6, 7 ];

回复

使用道具 举报

chelseaf 发表于 2017-5-19 15:22:05
arsenduan 发表于 2017-5-19 13:06
list有多种,取决于你如何定义的,如下面两个都是list.
list1 = ['physics', 'chemistry', 1997, 2000]; ...

谢谢您,但是DataTableView是horizon提供的一个类,get_data()函数是这个类下面定义的一个函数。返回值应该是有着一定固定形式的列表。比如列表里套列表或者列表里套字典之类的,但是我试过都有问题。因为看源码看得有点一知半解所以有点搞不清楚。
回复

使用道具 举报

arsenduan 发表于 2017-5-19 16:49:50
chelseaf 发表于 2017-5-19 15:22
谢谢您,但是DataTableView是horizon提供的一个类,get_data()函数是这个类下面定义的一个函数。返回值应 ...

直接输出一个list看看
回复

使用道具 举报

chelseaf 发表于 2017-5-20 11:10:00
arsenduan 发表于 2017-5-19 16:49
直接输出一个list看看

谢谢,我仔细看了下源码和开发文档,返回的list应该是类实例。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条