インターフェイスのすべての属性に属性を追加する必要があります。そのため、動的に変更して追加しようとしていますが、今のところあまり成功していません。
次のインターフェースがあるとしましょう:
class IMember(Interface):
first_name = schema.TextLine(title=u'first name')
last_name = schema.TextLine(title=u'last name')
そして、私はそれを次のように変更したいと思います:
class IMember(Interface):
first_name = schema.TextLine(title=u'first name')
last_name = schema.TextLine(title=u'last name')
visbility_first_name = schema.Bool(title=u'Display: first name')
visbility_last_name = schema.Bool(title=u'Display: last name')
その後、クラスを修正してみましたが、すでに初期化されているため、スキーマが設定されており、変更方法がわかりませんでした。ディレクティブ (例: interface.Implements()) を書くことも考えましたが、属性を追加するだけではかなり複雑に思えます。
最終的な目標は、一連の Bool ウィジェットを含む z3c.form フィールドセットを追加することです。
それで、Pythonでそれを行う方法はありますか、それともインターフェイスを変更してすべての属性を手動で追加する必要がありますか?
ありがとう !