我试图从purchase_order_line到account_move_line获得相同的字段
class PurchaseLine(models.Model):
_inherit = 'purchase.order.line'
task_id = fields.Many2one('project.task', string='Rubriques', store=True)
我试图重写方法_prepare_account_move_line
class AccountMoveLine(models.Model):
_inherit = "account.move.line"
task_id = fields.Many2one('project.task', string='Rubriques', store=True)
def _prepare_account_move_line(self, move):
res = super(AccountMoveLine, self)._prepare_account_move_line(move)
res.update({
'task_id': self.order_id.task_id.id
})
return res
但这不起作用,你有想法吗?
您对_prepare_account_move_line
的扩展必须在purchase.order.line
模型上进行,您在其中有一点错误:
class PurchaseLine(models.Model):
_inherit = "purchase.order.line"
def _prepare_account_move_line(self, move):
res = super(AccountMoveLine, self)._prepare_account_move_line(move)
res.update({
"task_id": self.task_id.id
})
return res
这个小错误是self.order_id.task_id.id
,它应该是self.task_id.id
,因为您在调用此方法的购买行上直接定义了task_id
。