Odoo是一个开源的企业资源规划(ERP)系统,它使用Python和XML来定义模型和视图。在Odoo中,Many2one
字段用于建立两个模型之间的一对多关系。例如,一个公司可以有多个联系人,但一个联系人只能属于一个公司。
Many2one
字段允许开发者灵活地定义模型之间的关系。Many2one
字段,可以确保数据的完整性和一致性。Many2one
字段通常以选择框的形式呈现,用户可以方便地选择相关记录。Many2one
字段在Odoo中是一种标准字段类型,用于表示一对多关系。
在Odoo中,Many2one
字段广泛应用于各种场景,例如:
在Odoo中,如果你希望在联系人视图中,Many2one
字段仅显示当前显示的公司的个人,可以通过以下步骤实现:
domain
属性来限制Many2one
字段的显示范围。例如:domain
属性来限制Many2one
字段的显示范围。例如:active_id
是当前显示的公司ID。假设你有一个公司模型和一个联系人模型,并且你想在联系人视图中仅显示当前公司的联系人。以下是完整的示例代码:
from odoo import models, fields
class Company(models.Model):
_name = 'res.company'
_description = 'Company'
name = fields.Char(string='Company Name')
contact_ids = fields.One2many('res.partner', 'company_id', string='Contacts')
class ResPartner(models.Model):
_inherit = 'res.partner'
company_id = fields.Many2one('res.company', string='Company')
<record id="view_partner_form_inherit" model="ir.ui.view">
<field name="name">res.partner.form.inherit</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='company_id']" position="attributes">
<attribute name="domain">[('id', '=', active_id)]</attribute>
</xpath>
</field>
</record>
通过以上步骤,你可以在Odoo的联系人视图中,确保Many2one
字段仅显示当前显示的公司的个人。
领取专属 10元无门槛券
手把手带您无忧上云