Openerp 用户界面在创建模型时混乱
我有一个模型:Openerp 用户界面在创建模型时混乱,openerp,odoo,openerp-8,odoo-8,Openerp,Odoo,Openerp 8,Odoo 8,我有一个模型: class MyModel: name = ... field1 = fields.Many2one(comodel_name='sale.order') @staticmethod def _do_some(env, inst): ... env['stock.picking'].create(vals={ 'move_type': 'direct', 'com
class MyModel:
name = ...
field1 = fields.Many2one(comodel_name='sale.order')
@staticmethod
def _do_some(env, inst):
...
env['stock.picking'].create(vals={
'move_type': 'direct',
'company_id': delivery_order.company_id.id,
'picking_type_id': pick_type_id
}) # UI Scrambles when this happens
...
@onchange('field1')
def field1_changed(self):
# self.id is a NewId ... which makes no sense
# this_inst is a replacement for self (because of NewId)
this_inst = ... I search this instance by name
MyModel._do_some(self.env, this_inst)
我有一个视图,它有一个下拉字段,用于MyModel.field1
,当我更改它时,它会自然调用MyModel.field1\u changed
,它会依次调用MyModel.\u do\u some
在
create
被调用到stock.picking
model之后,我的UI会混乱,我的意思是MyModel
实例的所有字段值都会从视图中删除,而且验证似乎会阻止我保存,因为“缺少必需字段”.onchange通常不允许数据库操作,这就是self.id
成为NewId
实例的原因
覆盖write
功能,检查何时写入field1
,并执行数据库操作。优点:self.id
不是NewId
而是实际id