在odoo上使用继承模型中的字段
Use a field in inherited model on odoo
这是一个非常简单的问题。我想使用继承模型中的字段,这是我的 balance.py
from odoo import models, fields, api
class Balance_res_partner(models.Model):
_inherit = 'res.partner'
和balance.xml
<?xml version="1.0"?>
<odoo>
<record id="balance_res_partner_form_view" model="ir.ui.view">
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="priority" eval="3"/>
<field name="model">res.partner</field>
<field name="arch" type="xml">
<button name="toggle_active" position="before">
<button class="oe_stat_button" type="action" name="%(account.action_account_payments)d"
attrs="{'invisible': [('customer', '=', False)]}"
icon="fa-usd">
<field string="Balance" name="credit" widget="statinfo"/>
</button>
</button>
</field>
</record>
</odoo>
如您所见,我在 balance.py 中没有任何 'credit' 字段,因此服务器没有 运行。我想要做的技巧是使用 res.partner 中的 'credit' 字段,并在该按钮值中显示它。
需要帮助。提前致谢...
如果您想继承 res.partner 的字段,您必须根据 _inherit
更改 _name
还有一个问题,你想用那个字段做什么?
已编辑:
关于如何显示信用,我在代码中做了一点改动:
balance.py
# -*- encoding: utf-8 -*-
from odoo import models, fields, api
class ProductLot(models.Model):
_inherit = 'res.partner'
credit_2 = fields.Char(
string='Balance',
compute='_compute_credit_2',
)
@api.multi
def _compute_credit_2(self):
for record_id in self:
record_id.credit_2 = str(record_id.credit)
和balance.xml:
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<data>
<record id="balance_res_partner_form_view" model="ir.ui.view">
<field name="name">balance.res.partner.form.view</field>
<field name="model">res.partner</field>
<field name="priority" eval="3"/>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<xpath expr="//button[@name='toggle_active']" position="after">
<button type="action"
name="%(account.action_account_payments)d"
attrs="{'invisible': [('customer', '=', False)]}"
class="oe_stat_button"
icon="fa-usd">
<field name="credit_2" widget="statinfo"/>
</button>
</xpath>
</field>
</record>
</data>
</odoo>
对我来说这很完美。
如果您使用信用字段,按钮文本看起来像 0,0& nbsp;€,这就是我使用另一个字段的原因。
此致
这是一个非常简单的问题。我想使用继承模型中的字段,这是我的 balance.py
from odoo import models, fields, api
class Balance_res_partner(models.Model):
_inherit = 'res.partner'
和balance.xml
<?xml version="1.0"?>
<odoo>
<record id="balance_res_partner_form_view" model="ir.ui.view">
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="priority" eval="3"/>
<field name="model">res.partner</field>
<field name="arch" type="xml">
<button name="toggle_active" position="before">
<button class="oe_stat_button" type="action" name="%(account.action_account_payments)d"
attrs="{'invisible': [('customer', '=', False)]}"
icon="fa-usd">
<field string="Balance" name="credit" widget="statinfo"/>
</button>
</button>
</field>
</record>
</odoo>
如您所见,我在 balance.py 中没有任何 'credit' 字段,因此服务器没有 运行。我想要做的技巧是使用 res.partner 中的 'credit' 字段,并在该按钮值中显示它。
需要帮助。提前致谢...
如果您想继承 res.partner 的字段,您必须根据 _inherit
更改 _name还有一个问题,你想用那个字段做什么?
已编辑:
关于如何显示信用,我在代码中做了一点改动:
balance.py
# -*- encoding: utf-8 -*-
from odoo import models, fields, api
class ProductLot(models.Model):
_inherit = 'res.partner'
credit_2 = fields.Char(
string='Balance',
compute='_compute_credit_2',
)
@api.multi
def _compute_credit_2(self):
for record_id in self:
record_id.credit_2 = str(record_id.credit)
和balance.xml:
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<data>
<record id="balance_res_partner_form_view" model="ir.ui.view">
<field name="name">balance.res.partner.form.view</field>
<field name="model">res.partner</field>
<field name="priority" eval="3"/>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<xpath expr="//button[@name='toggle_active']" position="after">
<button type="action"
name="%(account.action_account_payments)d"
attrs="{'invisible': [('customer', '=', False)]}"
class="oe_stat_button"
icon="fa-usd">
<field name="credit_2" widget="statinfo"/>
</button>
</xpath>
</field>
</record>
</data>
</odoo>
对我来说这很完美。
如果您使用信用字段,按钮文本看起来像 0,0& nbsp;€,这就是我使用另一个字段的原因。
此致