Является ли использование setattr для установки простого атрибута в типе содержимого в Plone плохой практикой (я имею в виду, будет ли это преследовать меня в будущем)?

у меня есть два разных контекста на экземпляре Plone.

Первый контекст имеет несколько ATFolders. У вторых также есть ATFolders, которые должны быть синхронизированы с первым контекстом с использованием некоторых подписчиков.

Во втором контексте ATFolders должны знать, что они связаны с некоторыми из папок в первом контексте.

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

Этот атрибут должен существовать только во втором контексте, поэтому создается адаптер или new content-type, просто для использования в этом контексте, кажется слишком большим.

Я склонен использовать setattr ради прагматизма в этом конкретном сценарии, но я не знаю, будет ли использование подхода setattr преследовать меня в будущем (производительность, конфликты zodb и т. д.). Я имею в виду: создание каталога обновления, рабочий процесс обновления, возникнут ли проблемы с этим новым атрибутом?

Есть мысли? Кто-нибудь имел опыт работы с setattr в этой ситуации? Этот атрибут будет и не должен отображаться, это только для некоторого элемента управления.

5
задан Somebody still uses you MS-DOS 14 December 2011 в 01:19
поделиться