You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用python-workfront模块无法获取搜索结果的referenceNumber属性值

解决python-workfront中Issue对象无法直接访问referenceNumber属性的问题

我之前也碰到过一模一样的情况,其实问题出在python-workfront返回的Issue对象并没有把你请求的字段直接映射为实例属性——虽然打印对象时能看到referenceNumber的值,但它其实存在对象内部的字典结构里,不是直接可通过点语法访问的属性。

先搞清楚字段到底存在哪里

你可以先运行下面的代码,查看对象的内部结构,确认字段的存储位置:

# 查看对象的所有可用属性
print(dir(issue))
# 查看对象的内部变量字典
print(vars(issue))
# 也可以试试打印常见的存储字段的属性,比如fields或data
print(issue.fields)  # 或者 issue.data

正确获取referenceNumber的两种方法

根据python-workfront的常规实现,你可以用以下两种方式拿到这个值:

  1. 使用对象的get方法(SDK通常会实现这个方法来读取字段):
print(issue.get('referenceNumber'))
  1. 直接访问内部存储字段的字典:
    如果上面的检查发现字段存在fields属性里,就这么写:
print(issue.fields['referenceNumber'])

要是存在data属性里,就改成:

print(issue.data['referenceNumber'])

为啥打印对象能看到值却不能直接访问?

这是因为Issue对象的__str__或__repr__方法把内部的字段数据格式化后显示出来了,但这只是打印时的展示效果,并不意味着这些字段被设置成了对象的直接实例属性。

内容的提问来源于stack exchange,提问作者Gregory Lancaster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 10:02:00