我已经使用IDatasetForm
here跟踪了Ckan示例自定义数据集和资源元数据字段,我将添加一些自定义数据字段.
然后,我想添加一些词典,我已按照这些步骤here进行操作,一切都在第一时间完成.
我花了一些时间,因为我意识到词汇只创建了一次.
>我添加了以下功能:
def create_country_codes(): user = tk.get_action('get_site_user')({'ignore_auth': True},{}) context = {'user': user['name']} try: data = {'id': 'country_codes'} tk.get_action('vocabulary_show')(context,data) except tk.ObjectNotFound: data = {'name': 'country_codes'} vocab = tk.get_action('vocabulary_create')(context,data) for tag in (u'uk',u'ie',u'de',u'fr',u'es'): data = {'name': tag,'vocabulary_id': vocab['id']} tk.get_action('tag_create')(context,data)
>第一次是一切都好,我得到的结果正如我所说的那样.然后我尝试在函数中添加更多国家/地区(标签),因为它似乎没有更新我更改的内容而被卡住了:
... for tag in (u'uk',u'es',u'aa',u'bb',u'cc',u'dd'): data = {'name': tag,data) ...
注意新标签:u’aa’,u’bb’,u’cc’,u’dd’
>几次后,我尝试更改功能的名称,然后根据需要获取所有国家/地区的列表.我想第一次创建标签列表.
我不知道我是否做错了,但有人知道如何更新词汇表(不创建新功能)吗?
谢谢.
解决方法
对不起是迟到的回复..我在寻找其他类似的东西时碰到了这个.无论如何,如果你的列表得到更新,那么你必须打电话 vocab = tk.get_action(‘vocabulary_update’)(上下文,数据) 检查列表是否已更新后,而不是vocab = tk.get_action(‘vocabulary_create’)(上下文,数据)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。