如何将值添加到 odoo many2many 字段列取决于同一字段中的另一列?
how to add values into odoo many2many field column depend on another column in the same field?
我需要添加一个按钮来执行将值写入 many2many 特定列的方法
注意
该值等于产品表单中的另一列值 * self.standard_price
我试图使列表包含我需要准确写入的值,但我无法将这些值写入特定列
class autopart(models.Model):
_inherit = 'product.template'
@api.one
@api.depends('car')
def test(self):
test=[s.factor* self.standard_price for s in self.car]
print(test)
self.car.suggested_price = [(6,0,[test])]
pass
car = fields.Many2many(comodel_name="cars", string="", )
XML
<record id="product_auto" model="ir.ui.view">
<field name="name">product.template.product.form</field>
<field name="model">product.template</field>
<field name="inherit_id" ref="product.product_template_only_form_view"/>
<field name="arch" type="xml">
<field name="qty_available" t-esc="'%.0f'%o.qty_available"/>
<xpath expr="//page[@name='inventory']" position="after">
<page name="pricing" string="Pricing" groups="master.auto_manger">
<group>
<field name="car">
<tree>
<field name="name"/>
<field name="model" widget="many2many_tags"/>
<field name="year"/>
<field name="factor"/>
<field name="suggested_price"/>
</tree>
</field>
</group>
<group>
<button name="test" class="oe_highlight" type="object" string="set values"/>
</group>
</page>
</xpath>
</field>
</record>
当我按下按钮时出现这个错误
“ ValueError:预期单例:汽车(1、2)”
此错误表示 Car 有多个记录集。
您必须使用 for loop
来更新 suggested_price
字段的值。请尝试以下代码:
@api.one
@api.depends('car')
def test(self):
for c in self.car:
c.suggested_price = c.factor* self.standard_price
这将遍历每条记录并更新汽车模型中每条记录的suggested_price
。
希望对您有所帮助。
注意 该值等于产品表单中的另一列值 * self.standard_price
我试图使列表包含我需要准确写入的值,但我无法将这些值写入特定列
class autopart(models.Model):
_inherit = 'product.template'
@api.one
@api.depends('car')
def test(self):
test=[s.factor* self.standard_price for s in self.car]
print(test)
self.car.suggested_price = [(6,0,[test])]
pass
car = fields.Many2many(comodel_name="cars", string="", )
XML
<record id="product_auto" model="ir.ui.view">
<field name="name">product.template.product.form</field>
<field name="model">product.template</field>
<field name="inherit_id" ref="product.product_template_only_form_view"/>
<field name="arch" type="xml">
<field name="qty_available" t-esc="'%.0f'%o.qty_available"/>
<xpath expr="//page[@name='inventory']" position="after">
<page name="pricing" string="Pricing" groups="master.auto_manger">
<group>
<field name="car">
<tree>
<field name="name"/>
<field name="model" widget="many2many_tags"/>
<field name="year"/>
<field name="factor"/>
<field name="suggested_price"/>
</tree>
</field>
</group>
<group>
<button name="test" class="oe_highlight" type="object" string="set values"/>
</group>
</page>
</xpath>
</field>
</record>
当我按下按钮时出现这个错误 “ ValueError:预期单例:汽车(1、2)”
此错误表示 Car 有多个记录集。
您必须使用 for loop
来更新 suggested_price
字段的值。请尝试以下代码:
@api.one
@api.depends('car')
def test(self):
for c in self.car:
c.suggested_price = c.factor* self.standard_price
这将遍历每条记录并更新汽车模型中每条记录的suggested_price
。
希望对您有所帮助。