Как очистить старые интерфейсы в каталоге zc.relation?
Я использовалplone.directives.form версия 1.0 с Plone 4.2.5 и после обновления до 4.2.6 я начал видеть следующую трассировку, и яУгадай это из-заplone.directives.form
обновляется до версии 1.1.
Как я могу избежать этой ошибки? Единственная строка кода, которая отличается от Plone по умолчанию при трассировке, включенаder.freitag.handlers
где этоtransaction.commit()
и тип контента - это просто тип контента с ловкостью.
1385740390.020.496977141203 http://10.100.0.207:8081/website/front-page/atomkraft/++add++der.freitag.customizablearticlelink
Traceback (innermost last):
Module ZPublisher.Publish, line 138, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 48, in call_object
Module plone.z3cform.layout, line 70, in __call__
Module plone.z3cform.layout, line 54, in update
Module plone.dexterity.browser.add, line 112, in update
Module plone.z3cform.fieldsets.extensible, line 59, in update
Module plone.z3cform.patch, line 30, in GroupForm_update
Module z3c.form.group, line 138, in update
Module z3c.form.action, line 99, in execute
Module z3c.form.button, line 315, in __call__
Module z3c.form.button, line 170, in __call__
Module plone.dexterity.browser.add, line 99, in handleAdd
Module z3c.form.form, line 247, in createAndAdd
Module plone.dexterity.browser.add, line 78, in add
Module plone.dexterity.utils, line 152, in addContentToContainer
Module Products.BTreeFolder2.BTreeFolder2, line 455, in _setObject
Module zope.event, line 31, in notify
Module zope.component.event, line 24, in dispatch
Module zope.component._api, line 136, in subscribers
Module zope.component.registry, line 321, in subscribers
Module zope.interface.adapter, line 585, in subscribers
Module zope.component.event, line 32, in objectEventNotify
Module zope.component._api, line 136, in subscribers
Module zope.component.registry, line 321, in subscribers
Module zope.interface.adapter, line 585, in subscribers
Module der.freitag.handlers, line 126, in set_customizable_article_link_id
Module transaction._manager, line 89, in commit
Module transaction._transaction, line 329, in commit
Module transaction._transaction, line 443, in _commitResources
Module ZODB.Connection, line 567, in commit
Module ZODB.Connection, line 623, in _commit
Module ZODB.Connection, line 658, in _store_objects
Module ZODB.serialize, line 422, in serialize
Module ZODB.serialize, line 431, in _dump
PicklingError: Can't pickle <class 'plone.directives.form.schema.Schema'>: attribute lookup plone.directives.form.schema.Schema failed
РЕДАКТИРОВАТЬ: создаваемый объект имеет поле отношения (z3c.relationfield.schema.RelationChoice
) и получается, чтоzc.relation
хранит список всех интерфейсов, предоставляемых каждым членом любого отношения. Таким образом, после обновления plone.directives.form версии 1.0 до версии 1.1 интерфейсы в plone.directives.form больше не могут быть разрешены.
Изz3c.relationfield документация Я не вижу никакой возможности обновить отношения, поэтому единственным решением было бы получить все отношения и воссоздать их?