クラスとportal_typePerson
があり、2つのメソッドがあります。
class Person(BaseContent):
def print_all(self):
catalog = getToolByName(self, "portal_catalog")
results = catalog(portal_type = 'Person')
final_result = ''
for result in results:
final_result += result.getObject().print_person()
return final_result
def print_person(self):
return self.name
print_all
しかし、それはどのオブジェクトにも関連付けられていないため、静的メソッドである必要があることに気付きました。私がやりたいのは、personのすべてのインスタンスを取得し、print_person()を呼び出すことです。しかし、問題は次のとおりです。print_allメソッドを静的メソッドにした後、自己オブジェクトがないため、カタログに何を書き込む必要がありますか。例えば今は書けない
catalog = getToolByName(self, "portal_catalog")
私は次のようなものが欲しいです:
@staticmethod
def print_all():
instance = Person()
catalog = getToolByName(instance, "portal_catalog")
.
.
.
しかし、それは私に'invalid syntax'
エラーを与えていますinstance = Person()
!私の質問が明確であり、どんな助けもありがたいです!