Я шел через документацию здесь, чтобы добавить некоторые дополнительные поля для наборов данных и ресурсов в 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
Этот ответ может быть немного устаревшим на данный момент, но я должен указать, что я также необходимо создать resource_form_edit.html в фрагментах с тем же содержимым, чтобы включить добавление настраиваемого поля в уже существующие ресурсы. – scuerda