只选择两个类之间具有其值的第一个字段

2024-06-07 17:07:18 发布

您现在位置:Python中文网/ 问答频道 /正文

当我在两个类之间创建一个many2many关系时,它显示了openerp中的所有类。如何选择第一个字段和他的值?你知道吗

class f_produit_fabrique(osv.osv):
"""(NULL)"""
_name = 'f.produit.fabrique'
_columns = {
    'code_prod': fields.char('Code_prod',size=30,required=True),
    'lib_prod': fields.char('Lib_prod',size=30,required=True),
    'coefficient':fields.integer('Coefficient',required=True),
    'produit_achete':fields.many2many('a.produit.achete'),
}

f_produit_fabrique()

class a_produit_achete(osv.osv):
"""(NULL)"""
_name = 'a.produit.achete'
_columns = {
    'code_prod': fields.char('Code_prod',size=30,required=True),
    'lib_prod': fields.char('Lib_prod',size=30,required=True),
    'prix_produitachete':fields.float('Prix_produitachete',size=30,required=True),
    'quantite':fields.float('quantite',size=30,required=True),
    'fournisseur_a_fournir': fields.many2one('fournisseur','fournisseur'),
}

a_produit_achete()

Tags: nametruefieldssizerequiredprodnullclass
3条回答

很多

  • 对象之间的双向多重关系。你知道吗
  • 这是最普遍的一种关系:一个记录可以与另一端的任意数量的记录相关联,反之亦然。你知道吗
  • 在多对多关系的情况下,产品中的每一行都与税中的零行、一行或多行相关联,反之亦然。通常,需要一个映射表来映射这种关系。你知道吗
  • 在这种关系中,需要新表来存储这两个表的引用。你知道吗

enter image description here

当您从odoo类或xml中访问此字段时,它将返回关系表的可浏览对象列表。你知道吗

因此,当您只在xml文件中显示简单的m2m字段时,它将给出树视图中所有列的列表,如果您只想显示特定的字段,则需要在树视图中指定这些字段。你知道吗

<field name="m2m_field_name" >
    <tree>
        <field name="relation_table_field1"/>
        <field name="relation_table_field2"/>
        <field name="relation_table_field3"/>
    </tree>
</field>

如果你只想要一个字段在那里,你想显示它像多选组合框,那么你需要应用程序在那里。你知道吗

<field name="m2m_field_name" widget="many2many_tags" />

它将显示名称字段如果名称字段不在那里,它将把\u rec\u name字段的值带到那里。你知道吗

将此添加到f.produit.fabrique模型视图:

<field name="produit_achete" >
    <tree>
        <field name="code_prod"/>
    </tree>
</field>

创建另一个树/窗体视图,并在需要时使用它。
或者写一个fields_view_get方法。你知道吗

相关问题 更多 >

    热门问题