我从配置中获取字段名称字符串。
para = 'partner_id.name'
account.invoice(281088,).para
*** AttributeError: 'account.invoice' object has no attribute 'para'
系统无法准确知道数据库字段名称,它来自用户配置。
答案 0 :(得分:0)
根据您的情况,您可以拆分提供的参数并像这样使用dd/mm/yyyy
getattr
para = 'partner_id.name'
attributes = para.split('.')
value = account.invoice(281088)
for attribute in attributes:
if hasattr(value, attribute):
value = getattr(value, attribute)
else:
return False
return value
这将拆分用户提供的参数。在这种情况下,属性值将变为attributes = para.split('.')
['partner_id', 'name']
为帐户分配发票。
value = account.invoice(281088)
浏览我们的属性,并检查value是否具有该属性。如果是这样,则获取其值,否则返回其他值。
for attribute in attributes:
if hasattr(value, attribute):
value = getattr(value, attribute)
else:
return False
返回结局值(在这种情况下为合作伙伴名称)