在Odoo 10

时间:2017-10-22 11:19:42

标签: openerp

鉴于名为'Foo'的自定义模型,我想在其中添加“标签”。

我正在尝试以下代码,但收到以下错误:

ProgrammingError: relation "_unknown" does not exist LINE 1:
...rel._unknown_id FROM _unknown_proposal_block_rel, "_unknown"

另外,检查psql:

select * from ir_model_relation;
...
111 | 2017-10-22 10:51:00.440656 | 2017-10-22 10:51:00.440656 |    359 |   353 | _unknown_foo_rel                         |            |           |            |

可以看出,这些名字没有被恰当地采用。

我正在使用的代码:

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>

欢迎任何提示。

1 个答案:

答案 0 :(得分:0)

发现问题,它是:

tag_ids = fields.Many2many('foo_tag', string='Tags')

而不是:

tag_ids = fields.Many2many('foo.tag', string='Tags')
相关问题