首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在超级方法(create)调用中传递上下文(odoo 12)

如何在超级方法(create)调用中传递上下文(odoo 12)
EN

Stack Overflow用户
提问于 2019-08-21 08:39:20
回答 2查看 1.4K关注 0票数 0

有人能告诉我如何使用上下文在创建函数中的两个模型(sale.order和stock.picking)之间传递数据吗?

类stock_backdoor(models.Model):

代码语言:javascript
复制
_inherit = 'stock.picking'

technician_id = fields.Many2one('hr.employee',string='Technician')
driver_id = fields.Many2one('hr.employee',string='Driver') 

@api.model
def create(self,vals):
   #here where i want to use the context to get the technichian   
   #and the driver id from (sale.order)
   return super(stock_backdoor, self).create(vals)

类sale_backdoor(models.Model):

代码语言:javascript
复制
_inherit = 'sale.order'

technician_id = fields.Many2one(
'hr.employee',string='Technician',required=True)

driver_id = fields.Many2one(
'hr.employee',string='Driver',required=True)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-21 12:33:18

您可以在超级调用中传递下面的上下文;

代码语言:javascript
复制
super(sale_backdoor, self.with_context(driver_id=vals.get('driver_id',False),technician_id=vals.get('technician_id',False)).create(vals)

请将上下文设置在销售订单模型中,并在选股模式中接收,如下所示:

代码语言:javascript
复制
driver_id = self._context.get('driver_id',False)
technician_id = self._context.get('technician_id',False)

请告知,从您的问题,它是肯定的,您希望通过驱动器和技术员字段价值从销售订单到库存,而创建库存从销售订单。请使用以下函数代码进行相同操作:

用股票移动模型编写以下代码

代码语言:javascript
复制
class StockMove(models.Model):
    _inherit = "stock.move"

    def _get_new_picking_values(self):

        res = super(StockMove,self)._get_new_picking_values()
        res.update({'driver_id': self.sale_line_id and self.sale_line_id.order_id and self.sale_line_id.order_id.driver_id and self.sale_line_id.order_id.driver_id.id,
                    'technician_id': self.sale_line_id and self.sale_line_id.order_id and self.sale_line_id.order_id.technician_id and self.sale_line_id.order_id.technician_id.id,})
        return res
票数 0
EN

Stack Overflow用户

发布于 2019-08-21 11:55:46

将self = self.with_context(driver_id=self.driver_id.id)放在超级调用之前

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57587623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档