Button 奥多8号及以上。不使用“创建”和“保存”按钮自动创建和保存
我使用SoapPY从第三方服务恢复数据,并将其保存在字典结构中。恢复的数据具有one2many结构,类似于销售订单结构(标题行)。 我在填充一些键值后单击自定义按钮时会这样做。我禁用了创建和保存按钮,因为我需要不同的表单行为。我只需要获取数据并手动将其保存在相应的表中(标题和行)。我不希望自定义按钮像默认情况下任何按钮那样自动执行创建方法。 有什么建议吗Button 奥多8号及以上。不使用“创建”和“保存”按钮自动创建和保存,button,save,openerp,Button,Save,Openerp,我使用SoapPY从第三方服务恢复数据,并将其保存在字典结构中。恢复的数据具有one2many结构,类似于销售订单结构(标题行)。 我在填充一些键值后单击自定义按钮时会这样做。我禁用了创建和保存按钮,因为我需要不同的表单行为。我只需要获取数据并手动将其保存在相应的表中(标题和行)。我不希望自定义按钮像默认情况下任何按钮那样自动执行创建方法。 有什么建议吗 如果您想避免Odoo的ORM,那么就直接使用sql。通过创建和保存记录,我们指的是同一件事。write方法对已创建的记录集进行操作。我看到:
如果您想避免Odoo的ORM,那么就直接使用sql。通过创建和保存记录,我们指的是同一件事。write方法对已创建的记录集进行操作。我看到:
返回写入(方便)
这是什么?您是否定义了可在某处调用的write
?您正在导入写入方法吗?write方法的调用通常类似于self.write({'my\u field':its\u value})
,其中self是一个
因此,单击按钮,您可以:
1) 使用self.create({field1:value1,field2:value2,…})
2) 使用self.env.cr.execute(r“insert raw sql here”)在表中创建所需的记录(也就是说,如果你不想实际使用Odoo的ORM,每个Odoo/openerp模型都有一个
create
方法,你尝试过吗?事实上,你要避免的按钮实际上调用了相同的create
方法我从表单中取下了按钮,我不想自定义按钮自己创建。我想手动创建。是的,我没有如果你展示一些代码,也许我们可以更好地理解你,帮助你走出困境。我编辑了我的帖子来添加代码。我还添加了表单视图
def custom_button(self):
# Get the info from third party using SOAPPy
WSDLFile = "http://www.expedientes.poderjudicial.gub.uy/wsConsultaIUE.php?wsdl"
proxy = WSDL.Proxy(WSDLFile)
UIE = str(self.int_sede) + '-' + str(self.int_nro_registro) + '/' + str(self.int_ano)
soap_exp = proxy.consultaIUE(UIE)
# Set variables
str_origen = soap_exp[1]
str_caratula = soap_exp[3]
str_abogado_actor = soap_exp[4]
str_abogado_demandado = soap_exp[5]
movimientos = soap_exp[6]
mov_exp = []
for mov in movimientos:
mov_exp.append ((0, 0, {'str_sede': mov['sede'],
'date_venc': mov['vencimiento'],
'str_decreto': mov['decreto'],
'date_mov': mov['fecha'],
'str_movimiento': mov['tipo']}))
expediente = {'int_sede': self.int_sede, 'int_nro_registro': self.int_nro_registro, 'int_ano': self.int_ano,
'str_origen': str_origen,
'str_caratula': str_caratula,
'str_abogado_actor': str_abogado_actor,
'str_abogado_demandado': str_abogado_demandado,
'movimiento_ids': mov_exp
}
return write(expediente)