读取 Python Redmine API 中的空值
Read the null value in Python Redmine API
使用 rest API,我将 Redmine 与 Python 脚本连接并在 ODOO 中填充数据。
在 Redmine 中 assigned_to 问题中的值是空的,即 NULL,而读取这些值时。
Traceback (most recent call last):
File "/home/vignesh/PycharmProjects/vignesh/vigred.py", line 23, in <module>
redmine_asssigned_to = id.assigned_to
File "/usr/local/lib/python2.7/dist-packages/python_redmine-1.5.1-py2.7.egg/redmine/resources.py", line 424, in __getattr__
return super(Issue, self).__getattr__(item)
File "/usr/local/lib/python2.7/dist-packages/python_redmine-1.5.1-py2.7.egg/redmine/resources.py", line 193, in __getattr__
return self._action_if_attribute_absent()
File "/usr/local/lib/python2.7/dist-packages/python_redmine-1.5.1-py2.7.egg/redmine/resources.py", line 294, in _action_if_attribute_absent
raise ResourceAttrError
redmine.exceptions.ResourceAttrError: Resource doesn't have the requested attribute
简答:使用 getattr(id, 'assigned_to', None)
而不是 id.assigned_to
。
长答案:Python-如果您尝试访问不存在的属性,Redmine 会引发 ResourceAttrError
。这里的问题是 assigned_to
可能存在也可能不存在于资源对象上,这取决于它是否在 Redmine 中设置,而且 Python-Redmine 不会在自身内部硬编码任何属性,即它得到它们是从 Redmine 动态获取的,这就是你遇到这个问题的原因。
使用 rest API,我将 Redmine 与 Python 脚本连接并在 ODOO 中填充数据。
在 Redmine 中 assigned_to 问题中的值是空的,即 NULL,而读取这些值时。
Traceback (most recent call last):
File "/home/vignesh/PycharmProjects/vignesh/vigred.py", line 23, in <module>
redmine_asssigned_to = id.assigned_to
File "/usr/local/lib/python2.7/dist-packages/python_redmine-1.5.1-py2.7.egg/redmine/resources.py", line 424, in __getattr__
return super(Issue, self).__getattr__(item)
File "/usr/local/lib/python2.7/dist-packages/python_redmine-1.5.1-py2.7.egg/redmine/resources.py", line 193, in __getattr__
return self._action_if_attribute_absent()
File "/usr/local/lib/python2.7/dist-packages/python_redmine-1.5.1-py2.7.egg/redmine/resources.py", line 294, in _action_if_attribute_absent
raise ResourceAttrError
redmine.exceptions.ResourceAttrError: Resource doesn't have the requested attribute
简答:使用 getattr(id, 'assigned_to', None)
而不是 id.assigned_to
。
长答案:Python-如果您尝试访问不存在的属性,Redmine 会引发 ResourceAttrError
。这里的问题是 assigned_to
可能存在也可能不存在于资源对象上,这取决于它是否在 Redmine 中设置,而且 Python-Redmine 不会在自身内部硬编码任何属性,即它得到它们是从 Redmine 动态获取的,这就是你遇到这个问题的原因。