当我在2个类之间创建了一个很多关系时,它向我展示了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()
答案 0 :(得分:3)
<强> Many2many 强>
当您从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" />
如果名称字段不存在,它将显示名称字段,然后它会在那里带来 _rec_name 字段的值。
答案 1 :(得分:0)
创建另一个树/表单视图,并在需要时使用它
或者写一个fields_view_get
方法。
答案 2 :(得分:0)
将其添加到f.produit.fabrique
模型视图:
<field name="produit_achete" >
<tree>
<field name="code_prod"/>
</tree>
</field>