Change 'klass' for dexterity content types

I have a good news I optimized script to prevent all unnessesary actions to migrate clear and safety.

obj_id = obj.getId()

parent = obj.__parent__
parent._delOb(obj_id)
from plone.dexterity.content import Container
obj.__class__ = Container
parent._setOb(obj_id, obj)

from Products.BTreeFolder2.BTreeFolder2 import BTreeFolder2Base
BTreeFolder2Base._initBTrees(obj)

obj.reindexObject(idxs=['is_folderish', 'object_provides', ])
2 Likes