python – 尝试在plone中显示对象状态给出了“没有工作流程提供’${name}’信息.”错误
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 尝试在plone中显示对象状态给出了“没有工作流程提供’${name}’信息.”错误,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1241字,纯文字阅读大概需要2分钟。
内容图文
![python – 尝试在plone中显示对象状态给出了“没有工作流程提供’${name}’信息.”错误](/upload/InfoBanner/zyjiaocheng/802/7227a99bd5e4417dadd0242cd7dc6781.jpg)
我正在尝试使用以下代码返回对象状态:
workflow = getToolByName(context,'portal_workflow')
status = workflow.getInfoFor(obj,'review_state')
当我尝试使用以下输出时:
print "State: %s" % (status)
我收到以下错误:
Exception Type Workflow
Exception Exception Value No workflow provides ‘${name}’ information.
我已经在网上做了一点阅读,但似乎没有给出明确的答案.
有人可以帮忙吗?
编辑
这不是一个没有工作流程的对象.尝试获取状态的对象是使用自定义工作流程.但是,将其切换为使用默认的plone工作流仍然会导致相同的错误.
固定
在尝试最简单的事情之后:
status = obj.review_state
这有效!去搞清楚.不管怎么说,还是要谢谢你.
如果您愿意,可以删除此帖子的版主.
解决方法:
实际上,贾科莫的回答是正确的.您尝试传递给getInfoFor方法的obj是目录大脑,而不是实际的内容对象.这就是为什么要求它的review_state直接为你工作.
Plone内容对象不了解它自己的工作流状态.该信息由工作流工具维护,这就是为什么当您查看实际内容对象时必须使用workflow_tool.getInfoFor
在您的情况下,您已经采用了目录搜索的结果,这是一种称为大脑的轻量级结构,并尝试将其传递给工作流工具.目录大脑没有工作流程,因此您获得的错误非常准确.但目录大脑确实具有review_state属性,该属性对应于目录大脑所代表的对象的审阅状态.
简而言之,如果您有目录大脑,请使用brain.review_state,如果您有内容对象,请使用workflow_tool.getInfoFor(obj,’review_state’)
内容总结
以上是互联网集市为您收集整理的python – 尝试在plone中显示对象状态给出了“没有工作流程提供’${name}’信息.”错误全部内容,希望文章能够帮你解决python – 尝试在plone中显示对象状态给出了“没有工作流程提供’${name}’信息.”错误所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。