2016-12-23 4 views
1
私のコード

機能フィールドは、カンバンビューでは正常に動作していない

def get_score(self, cr, uid, ids, context={}, arg=None,obj=None): 
    result = {} 
    for f in self.browse(cr, uid,ids): 
     net_score = float(f.earn_score.f.availed_score) 
     result[f.id] = net_score 
    return result 

'net_score': fields.function(get_score, method=True, string='Net Score',type='float'), 

このメソッドは、フォームビューで正常に動作しますが、すべてのプレーヤーのための正しいネットスコアを示しているが、私は、かんばんビューで同じフィールドを表示する場合、それかんばん表示に表示されたすべてのプレーヤーのnet_scoreを合計し、すべての累積スコアが同じであることを示します。

かんばんのすべてのプレイヤーでnet_hoursを表示するにはどうすればよいですか? net_score =フロート(f.earn_score.f.availed_score)

私はよく分からないが、それはする必要があります願っています:私は、私は1つのミスが見つかったコードを経て

+0

結果[f.id] = net_scoreを – Shahid

答えて

0

net_score =フロート(f.earn_score + f.availed_score)

そして、あなたは以下のコード試すことができかんばんのネットスコアだけでなく、他のビューを表示するには:

def get_score(self, cr, uid, ids, context={}, arg=None,obj=None): 
    result = {} 
    for f in ids: 
     curr_obj = self.browse(cr,uid,f) 
     net_score = float(curr_obj.earn_score + curr_obj.availed_score) 
     result[f] = net_score 
    return result 
関連する問題