У меня есть два разных контекста в экземпляре Plone.
В первом контексте есть несколько ATFolders. Во-вторых, есть ATFolders, которые должны синхронизироваться с первым контекстом с использованием некоторых подписчиков.
Во втором контексте ATFolders должны знать, что они связаны с некоторыми папками в первом контексте.
Я думал об использовании setattr
в них (setattr(obj_context1, attr, obj_context2.UID())
) вместо создания нового Content-Type просто для того, чтобы иметь атрибут ReferenceField (или использование archetype.schemaextender ), поскольку это было бы слишком Значительное превышение для одного параметра в определенном контексте: например, папки, которые будут иметь этот атрибут, не будут удалены из ZODB. У них будет рабочий процесс с одним состоянием. Этот атрибут полностью скрыт от пользователя, и папки во втором контексте создаются программно , без вмешательства пользователя.
Этот атрибут должен существовать только во втором контексте, поэтому создание адаптера или нового типа контента для использования в этом контексте представляется слишком сложным.
Я склонен использовать setattr
ради прагматизма в этом конкретном сценарии, но я не знаю, собирается ли использование подхода setattr
преследовать меня в будущем ( производительность, конфликты zodb и т. д.). Я имею в виду: делать каталог обновления, обновлять рабочий процесс, у этого нового атрибута будет проблема?
Есть мысли? Кто-нибудь сталкивался с setattr
в этой ситуации? Этот атрибут будет и не должен быть видимым, он только для некоторого контроля.