以下方法存在于
中查询1: 的 stock.move
@api.multi
def action_assign(self, no_prepare=False):
for move in moves:
if move.product_id.type == 'consu'
moves_to_assign |= move
continue
else:
moves_to_do |= move
我只想添加一行更改 (即)
@api.multi
def action_assign(self, no_prepare=False):
for move in moves:
if move.product_id.type == 'consu' or move.product_id.type == 'service':
moves_to_assign |= move
continue
else:
moves_to_do |= move
我只想自定义此行
**if move.product_id.type == 'consu' or move.product_id.type == 'service':**
还有 查询2: ' mrp.production' 在这个方法
def _generate_raw_move(self, bom_line, line_data):
我只想删除以下内容
if bom_line.product_id.type not in ['product', 'consu']:
#return self.env['stock.move']
如何在Odoo 10中的自定义模块中编写此方法。
答案 0 :(得分:1)
在您的插件中,您希望从此插件stock.move
继承。然后只需使用现有方法并将其粘贴到您自己的模型中。这将完全覆盖现有方法。因此,当调用该方法时,它只会调用您的方法而不是以前存在的方法。
这是完成您要做的事情的唯一方法。你不能告诉程序'我只想改变这两行'。当涉及到方法时,它并没有真正起作用。
如果您希望保持现有方法不变,可以致电super
并在致电super
之前或之后执行处理,有时这比完全覆盖现有方法更好。在我看来,这实际上取决于你的情况。
class ClassName(models.Model):
_inherit = 'stock.move'
@api.multi
def action_assign(self, no_prepare=False):
for move in moves:
if move.product_id.type == 'consu' or move.product_id.type == 'service':
moves_to_assign |= move
continue
else:
moves_to_do |= move