小编cgs*_*cgs的帖子

Odoo 8:Many2many域名过滤器

我有几种具有many2many关系的组织类型,描述哪些类型可能是其他类型的父类型(例如,部门可以是子部门和工作组的父级).它不是一个严格的层次结构(工作组可以是其他工作组的父级),因此有很多关系.

我的organization_type对象上有两个字段:allowed_parent_type_ids反之allowed_children_type_ids.

现在,我想根据组织对象的父级限制组织对象上的组织类型字段,因此"部门"的子级只能选择允许为部门子级的组织类型,依此类推.

在我的表单视图中,我试过:

<field
    name="organization_type_id"
    domain="[('id', 'in', parent_id.organization_type_id.allowed_children_ids)]"
    />
Run Code Online (Sandbox Code Playgroud)

我还试图在我的组织对象上放置一个允许类型的相关字段,但我总是会收到一条错误消息.我的最后一次尝试是:

domain=[('id', 'in', allowed_type_ids)]
Run Code Online (Sandbox Code Playgroud)

这给出了一条错误消息:

TypeError: not all arguments converted during string formatting
Run Code Online (Sandbox Code Playgroud)

客户端实际上提取了一个JSON对象,如"allowed_type_ids"= [0,1,2]并且如果我在域表达式中替换allowed_type_ids [0,1,2]并且没有错误,我在我的选择中获得了三种组织类型...

openerp odoo-8

15
推荐指数
2
解决办法
2万
查看次数

Odoo:通过名称访问字段(以字符串形式给出)

我有一个模型,我想在其中访问由字符串给出的字段。例子:

def test(self):
    field = 'name'
    name = getattr(self, field)
Run Code Online (Sandbox Code Playgroud)

这工作正常 - 名称设置为 self.name。但后来我想访问相关领域:

def test2(self):
    field = 'partner_id.name'
    name = getattr(self, field)
Run Code Online (Sandbox Code Playgroud)

这是行不通的(因为“partner_id.name”本身不存在)。知道如何正确做吗?

odoo

2
推荐指数
1
解决办法
1536
查看次数

标签 统计

odoo ×1

odoo-8 ×1

openerp ×1