Я просматривал документацию здесь, чтобы добавить несколько дополнительных полей в наборы данных и ресурсы в 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
Кто-нибудь может подсказать, что может пойти не так?