-1

先日、フィールドAに入力したデータの保存方法を尋ねたところ、フィールドBにも表示されることがわかりましたが、問題が発生しました。これは私のコード

def _compute_dept(self, cr, uid, ids, deposit, available, arg, context=None):
    result = {}
    for r in self.browse(cr, uid, ids, context=context):
       avail=0
       if r.deposit:
            avail = r.deposit
            print avail
       result[r.id] = avail
    return result
_columns = {
    'name': fields.many2one('res.partner','Partner'),
    'date':fields.date('Date of Deposit'),
    'deposit': fields.float('Deposit'),
    'available': fields.function(_compute_dept, type='float', method=True, store=True, string='Available', readonly=True),
    'note': fields.text('Description'),
}

しかし、発生する問題。フィールドAに「10」と入力すると、フィールドBにも「10」と表示されますが、フィールドAに「20」と入力すると、フィールドBに「20」と表示されます..まあ、30と表示されるはずです。 10 + 20だからです。それで、コーディング一時に数値10を保持する方法。フィールド B に 30 という数字が表示されていること

PS : フィールド A はデポジット、フィールド B は使用可能

4

1 に答える 1

1

デザインを変更する必要があります。

bank_accountwith many (many2one)が必要ですdeposits。次に、モデルavailableに関数フィールドを作成します。bank_account

于 2012-07-26T09:53:38.023 に答える