我有一个类和 portal_type Person
,其中有 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
与任何对象都没有关联,所以它应该是静态方法。我想要做的是获取该人的所有实例并调用 print_person()。但问题是:在我将 print_all 方法设为静态方法后,由于没有 self 对象,我应该在目录中写什么。例如现在我不能写
catalog = getToolByName(self, "portal_catalog")
我想要类似的东西:
@staticmethod
def print_all():
instance = Person()
catalog = getToolByName(instance, "portal_catalog")
.
.
.
但它给了我'invalid syntax'
错误instance = Person()
!我希望我的问题很清楚,任何帮助将不胜感激!