我不知道为什么它没有识别我在python文件中创建的字段。我正在将错误视为QWebException:" amt_inv"在评估时 "线[' amt_inv']"
这是我的python文件,
class account_move_line(models.Model):
_inherit = "account.move.line"
amt_inv=fields.Char('Invoice')
amt_reinv=fields.Char('Refunded Invoice')
这是我的xml文件的一小部分,
<tr t-foreach="lines(partner)" t-as="line">
<td>
<t t-if="line['credit']==0">
<span t-esc="line['amt_inv']"/></t>
<t t-if="line['credit']>0">
<span t-esc="line['amt_reinv']"/></t>
</td>
答案 0 :(得分:0)
基本上在您的情况下,您的函数行(伙伴)将无法正确返回值。因此,行函数的行实例不是键的一部分,因此您将面临该问题。
首先,更重要的是你必须检查你从lines()函数返回的正确逻辑。
例如:
我已经提到听过你从字典中返回的实际内容,以及我们如何使用我们的Qweb View文件迭代循环。
def lines(o.partner_id):
Your logic mentioned over hear for make a new the dictionary
res={
'amt_inv':2022,
'amt-reinv':5244.20,
'credit':0,
}
return list(res)
<tr t-foreach="lines(partner)" t-as="line">
<td>
<t t-if="line['credit']==0">
<span t-esc="line['amt_inv']"/></t>
<t t-if="line['credit']>0">
<span t-esc="line['amt_reinv']"/></t>
</td>
您可以通过 amt_inv 键以线条实例的形式访问该值的关键字。
请尝试再次检查你的行功能逻辑它将返回正确的字典列表
我希望我的回答可能对你有帮助:)。