0

我不知道为什么它无法识别我在 python 文件中创建的字段。我在评估“line ['amt_inv']”时遇到错误为 QWebException: “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> 
4

1 回答 1

0

基本上,在您的情况下,您的函数lines(partner)将无法正确返回值。因此您的 lines 函数的 line 实例不是键的一部分,因此您面临该问题。

首先,越来越重要的事情是您必须检查从 lines() 函数返回的正确逻辑。

例如 :

我已经提到过听到你从字典中返回的实际内容以及我们如何使用我们的 Qweb 视图文件遍历循环。

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键。

请尝试再次检查您的行功能逻辑它是否会返回正确的字典列表

希望我的回答对你有帮助:)

于 2016-02-14T06:56:50.353 回答