2015-04-08 190 views
0

因此,例如,在第1類中,我計算一個價格,並且我想將此價格分配給來自第2類的字段。將一個類別的值分配給另一個類別

我怎樣才能做到這一點,我嘗試沒有成功如下:

self.browse(cr, uid, ids[0]).task_id.xx_new_price = new_price 

xx_new_price是從中我可以訪問低谷TASK_ID另一個類的字段。 new_price只包含一個數字。

編輯:用代碼

class PurchaseOrder(osv.Model): 
_inherit = 'purchase.order' 

def wkf_confirm_order(self, cr, uid, ids, context=None): 
    new_price = self.pool.get('price.calculation').calculate_price(cr, uid, ids, context=context) 

    for purchase_order in self.browse(cr, uid, ids): 
     if purchase_order.task_id: 
      task = self.pool.get('project.task').browse(cr, uid, purchase_order.task_id)[0] 
      task.write({'xx_new_price': new_price}) 

_columns = { 
    'project_id': fields.many2one('project.project', 'Project'), 
    'task_id': fields.many2one('project.task', 'Task') 
} 

更新,所以我繼承採購訂單wkf_confirm方法(一切我都讓這個例子標準碼出)。因爲當我確認一個訂單時,我希望它爲另一個類的另一個字段賦值(在這種情況下,在project.task中的字段xx_new_price,new_price計算一個價格幷包含一個浮點數)

回答

1

要寫一個新的在表中的值,你需要調用寫的 ORM該類

首先,你應該從當前對象採取TASK_ID比分配NEW_PRICE

,例如:

for project in self.browse(cr, uid, ids): 
    if project.task_id: 
     project.task_id.write({'xx_new_price': new_price}) 
+0

如果我這樣做的話,我會得到:「類型錯誤:‘NoneType’對象不是可調用的」 – RandomPerson

+0

嘗試更新的答案,我編寫的空氣所以它扔錯誤;-) *任務*變量必須是瀏覽對象。 –

+0

嗯我似乎仍然得到相同的錯誤,我已經更新了一些代碼,可能會給更多的洞察力的主要帖子 – RandomPerson

相關問題