在表单中显示标签

时间:2017-10-22 11:45:47

标签: openerp

鉴于名为' Foo'的自定义模型,我想添加"标签"它。

我正在使用的代码:

class FooTag(models.Model):
    _name = 'foo_tag'
    _description = 'Foo Tag'
    tag = fields.Char('Tag')

class Foo(models.Model):
    _name = 'foo'
    _description = 'Foo Model'
    name = fields.Char('Name', required=True)
    content = fields.Text('Foo Content')
    tag_ids = fields.Many2many('foo_tag', string='Tags')

以下是视图的代码:

<record id="view_form_foo" model="ir.ui.view">
    <field name="name">Foo Form</field>
    <field name="model">foo</field>
    <field name="arch" type="xml">
        <form string="Foo">
            <sheet>
                <group>
                    <field name="name"/>
                    <field name="tag_ids" widget="many2many_tags"/>
                    <field name="content"/>
                </group>
            </sheet>
        </form>
    </field>
</record>

到目前为止,非常好。

但是在视图中我获得了关系(foo_tag,1)而不是给出的实际Tag名称。我怎么能显示列&#39;标记&#39; foo_tag而不是关系?

我看过这篇文章,但是展示了旧的API,我可以在哪里找到新API的例子(Odoo 10)

https://www.odoo.com/forum/help-1/question/many2many-tags-show-a-refrence-of-the-tag-not-the-name-24000

1 个答案:

答案 0 :(得分:0)

我进入了另一个论坛:

  1. 在foo_tag模型中,'tag'字段重命名为'name'。
  2. _rec_name ='tag'已添加到foo_tag模型。
  3. 这解决了这个问题。