跳至内容
菜单
此问题已终结
2 回复
3645 查看

Hello, I have Odoo8.

Sorry if my question is very simple, but I can't find my mistake.

In a model (sale.order), I have a related field:

acopiado_restante = fields.Float(digits=(8,2), related='pricelist_version_id.monto_acopiado_restante', string="Monto acopiado restante")

The field points to a computed field on model product.pricelist.version.

In a method of sale.order class, I need to use the value of field 'acopiado_restante', specifically in this method:

def onchange_pricelist_id(self, cr, uid, ids, pricelist_id, order_lines, context=None): ...

I try to access to the field using self.acopiado_restante, but I get the error 'sale.order don't have field _ids'.

What is the mistake and how can access to the field? Thanks!

形象
丢弃
编写者

@deep, I want to use the value of 'acopiado.restante' field, still need the _ids value?

编写者

@Ramanan, actually I have inherited the model that I want to use. If I do self.pool.get what record of the model I fetch?

最佳答案

you simply inherit model, which you want to use. then inside the method use self.env["your_model_name"] or self.pool.get, you inherit all fields which u want from that model.

形象
丢弃
最佳答案

I have a feeling, you are not aware of Onchange definition and its semantics, please learn those before proceeding

Onchange will work in both on saved and unsaved records...

In case of saved records you can use self to fetch data, in case of unsaved of records, self will not be available to be used since record is not saved, hence ids wont be there....

形象
丢弃
相关帖文 回复 查看 活动
2
12月 22
14938
1
11月 21
5064
0
1月 21
2357
8
5月 20
7941
0
12月 23
2996