型号名称而不是 product_id 值

问题描述

我正在尝试从 stock.quant 获取 product_id 值,但我获取的是模型名称和列表:

代码如下:

class stock_quant(models.Model):

  _inherit = "stock.quant"
...some code...
prodID = product.id (the value is correct( 235 ),I have no problem there)
...some code...

for y in self.search([]):
              x=y.browse([(prodID)])
              
              _logger.info("myValue : " +str(x)) #so this value is displayed stock.quant(235,) but I
want to get only the 235 from this list.

那么如何从这个 Many2One 中获取一个值?

解决方法

self.search([]):

您正在stock.quant模型中编写方法,因此在此方法中selfstock.quant的对象,因此对stock.quant的自身结果记录集执行搜索,您正在为 stock.quant 模型的所有记录运行 for 循环。所以 y 也是循环每次迭代的 stock.quant 记录,调用 y.browse() 只会导致另一个 stock.quant。如果您想获得 product.product 记录,您必须遵循 product_id 模型上的 stock.quant 关系,例如 y.product_id.id,或者从注册表中获取模型,例如 { {1}}。

,

我们可以使用 _name 属性从 many2one 字段访问模型名称。

例如

many2one_field_name._name