gpt4 book ai didi

openerp - 如何在 odoo 10 中使用 transient 模型(向导)将数据插入表中

转载 作者:行者123 更新时间:2023-12-05 04:11:27 29 4
gpt4 key购买 nike

我有一个名为 Vehicle 的模型,我创建了一个向导 od_add_new_vehicle。在向导的 xml View 中,我创建了一个 Action 。我如何将车辆模型与向导链接以便我可以永久保存数据

class Vehicle(models.Model):
_name = 'transport.vehicle'

name = fields.Char(string="Name", required=True)
description = fields.Text()
reg_date = fields.Date()
department = fields.Char()
available = fields.Boolean()


class od_add_new_vehicle(models.TransientModel):
_name = 'od.add.new.vehicle'
_description = 'Add new vehicle'
name = fields.Char('vehicle name')
description = fields.Text('Description')
reg_date = fields.Date('Reg date')
department = fields.Char('Department')
available = fields.Boolean('Available')

def _default_veh(self):
return self.env['transport.vehicle'].browse(self._context.get('active_ids'))

v_id = fields.Many2one('transport.vehicle', string="Vehicle ref", required=True, default=_default_veh)

@api.multi
def od_add_book(self):
self.v_id.name = self.name
self.v_id.description = self.description
self.v_id.reg_date = self.reg_date
self.v_id.department = self.department
self.v_id.available = self.available
self.v_id.member_id = self.member_id
return {}

最佳答案

以下是从向导更新/插入数据的简单方法。

  • 在表单 View 页脚添加按钮
  • 按钮类型将是对象以在.py端调用python函数
  • 使用active_ids 更新记录集。

例如:

<footer>
<button name="insert_data" string="Insert/Update data" type="object"
class="oe_highlight"/>
or
<button string="Cancel" class="oe_link" special="cancel" />
</footer>

.py 副函数

@api.multi
def insert_data(self):

for record in self.env['target.table.name'].browse(self._context.get('active_ids', [])):

#here you can access target table fields using *record* variable

record.field_name = wizard.field_name

return True

关于openerp - 如何在 odoo 10 中使用 transient 模型(向导)将数据插入表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42648886/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com