是否可以在 Odoo 中使用单个操作按钮更新两个不同的模型?
Is it possible to update two different models with single action button in Odoo?
我的问题是我已经定义了一个功能和一个操作按钮来更新不同模型中的相同数据。
但我希望它更新两个不同模型中的某些字段。
个别代码工作正常,但当我合并它们时显示错误。
我的代码是这样的
def function_call(self,cr,uid,ids,vals,context=None):
x = self.pool.get('hotel.booking')
y = self.browse(cr,uid,ids,context=context)
z = {
'name' : y.name,
'mobile':y.mobile,
'email_id':y.email_id
}
return x.create(cr,uid,z,context=context)
objz1 = self.pool.get('room.engage')
currentz1 = self.browse(cr,uid,ids,context=context)
currentz1.status = 'reserved'
new_valsz1 = { #dictionary
'room_num' : currentz1.room_num.room_num,
'room_type':currentz1.room_type,
'status': currentz1.status
}
return objz1.create(cr,uid,new_valsz1,context=context)
操作按钮在预订表格中。客户可以在其中输入姓名、手机、email_id、房号详细信息。
在上面的代码中,只有当我删除一段时它才有效。
所以从这里我想在一个模型中获取个人详细信息,在另一个模型中获取房间详细信息。
我遇到了同样的问题。
您必须有每个模型的 ID 才能浏览记录并调用创建方法两次。
(当你写 return obj.create(cr, uid, vals, context) 时,你 return 新创建记录的 id。)
我的问题是我已经定义了一个功能和一个操作按钮来更新不同模型中的相同数据。
但我希望它更新两个不同模型中的某些字段。
个别代码工作正常,但当我合并它们时显示错误。
我的代码是这样的
def function_call(self,cr,uid,ids,vals,context=None):
x = self.pool.get('hotel.booking')
y = self.browse(cr,uid,ids,context=context)
z = {
'name' : y.name,
'mobile':y.mobile,
'email_id':y.email_id
}
return x.create(cr,uid,z,context=context)
objz1 = self.pool.get('room.engage')
currentz1 = self.browse(cr,uid,ids,context=context)
currentz1.status = 'reserved'
new_valsz1 = { #dictionary
'room_num' : currentz1.room_num.room_num,
'room_type':currentz1.room_type,
'status': currentz1.status
}
return objz1.create(cr,uid,new_valsz1,context=context)
操作按钮在预订表格中。客户可以在其中输入姓名、手机、email_id、房号详细信息。
在上面的代码中,只有当我删除一段时它才有效。
所以从这里我想在一个模型中获取个人详细信息,在另一个模型中获取房间详细信息。
我遇到了同样的问题。
您必须有每个模型的 ID 才能浏览记录并调用创建方法两次。
(当你写 return obj.create(cr, uid, vals, context) 时,你 return 新创建记录的 id。)