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)は値を適切に返しません。そのため、あなたの line インスタンスの lines 関数はキーの一部ではないので、その問題に直面しています。

まず、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キーとしてラインインスタンスフォームとしてアクセスできると聞いています。

行関数ロジックをもう一度確認してください。適切な辞書のリストが返されるかどうか

私の答えがあなたに役立つことを願っています:)

于 2016-02-14T06:56:50.353 に答える