CKan toolkit.get_action函数在按package_count排序时给出空列表

时间:2018-07-19 21:46:07

标签: postgresql python-2.7 ckan

我是CKAN的新手,模板帮手遇到了问题。特别是在我的情况下,我将必须在自己的模板帮助器中调用toolkit.get_action('group_list')。但是,当我添加如下约束时:

results = toolkit.get_action('group_list')(data_dict={'sort': 'package_count desc',
                                            'type': 'MyType',
                                            'all_fields': True})

我得到的结果是一个空列表。如果我从data_dict中删除了'sort'约束,则可以得到用'MyType'列出组的结果。我不知道是什么引起了这个问题,因为当我遵循ckan toolkit official examples时,它可以正常工作。但是,我能想到的是此自定义组可能具有其自己的架构,因此package_count不能用作排序键。由于没有错误消息,因此我无法作进一步的假设。

1 个答案:

答案 0 :(得分:0)

我想出了自己的问题。我在问题中展示的实现是正确的。但是,数据库未正确填充。基本上,您必须为特定组填充一些软件包。如果每个组中没有软件包,则此函数将返回空查询结果。在@DRead的建议下,我研究了Content-Type的源代码。如果您看一下这段代码:

Request.Form

如果您没有为组创建软件包,则_group_or_org_list()会过滤掉所有组。