我已經經歷的文檔這裏一些額外的字段添加到數據集和資源CKAN:增加額外字段CKAN資源
http://docs.ckan.org/en/latest/extensions/adding-custom-fields.html
到目前爲止,一切工作只要「清理代碼「部分,編輯數據集時出現額外字段。我跳過了標籤並開始向資源中添加自定義字段,但沒有任何向自定義字段添加自定義字段的功能。這裏是plugin.py的相關部分:
class ExampleIDatasetFormPlugin(p.SingletonPlugin, tk.DefaultDatasetForm):
p.implements(p.IDatasetForm)
p.implements(p.IConfigurer)
def _modify_package_schema(self, schema):
schema.update({
'my_custom_field': [tk.get_validator('ignore_missing'),
tk.get_converter('convert_to_extras')]
})
schema['resources'].update({
'my_custom_field' : [ tk.get_validator('ignore_missing')]
})
return schema
def create_package_schema(self):
schema = super(ExampleIDatasetFormPlugin, self).create_package_schema()
schema = self._modify_package_schema(schema)
return schema
def update_package_schema(self):
schema = super(ExampleIDatasetFormPlugin, self).update_package_schema()
schema = self._modify_package_schema(schema)
return schema
def show_package_schema(self):
schema = super(ExampleIDatasetFormPlugin, self).show_package_schema()
schema.update({
'my_custom_field': [tk.get_converter('convert_from_extras'),
tk.get_validator('ignore_missing')]
})
schema['resources'].update({
'my_custom_field' : [ tk.get_validator('ignore_missing') ]
})
return schema
任何人都可以提出什麼可能會出錯嗎?
這得到了正確的字段輸入形式出現 - 謝謝。現在我需要弄清楚如何說服CKAN實際保存新的字段,並在資源摘要中顯示它... – knirirr 2015-06-05 09:39:39
這個迴應可能有點過時了,但我應該指出,我也是需要在具有相同內容的片段中創建resource_form_edit.html,以便爲現有資源添加自定義字段。 – scuerda 2016-05-13 15:55:49