我如何向州询问内容对象?

Dan*_*dez 4 plone

本教程结束时,列出了几个对象属性.但是我需要访问状态(已发布,私有,......).我也使用搜索该属性,dir()但我没有看到名为state或类似的属性.即,我需要这样的东西:

>>> app.Plone.foo.bar.state
"published"
Run Code Online (Sandbox Code Playgroud)

zup*_*upo 9

或者为了使代码更具可读性而不必记住奇怪的方法名称,可以使用plone.api执行此操作:

from plone import api
api.content.get_state(obj=your_object)
Run Code Online (Sandbox Code Playgroud)

当然,您需要先添加plone.api鸡蛋,然后重新运行buildout.


use*_*176 5

您始终可以使用plone_workflow来确定当前状态:

workflowTool = getToolByName(self.portal, "portal_workflow")
status = workflowTool.getStatusOf("plone_workflow", object)
# where "object" is your content object
print (status)
Run Code Online (Sandbox Code Playgroud)