首页 > 解决方案 > Odoo 8 使用新 api 继承旧 api 模型的奇怪行为

问题描述

我添加了两个字段来stock.picking使用新的 api:

class StockPicking(models.Model):
    _inherit = "stock.picking"

    address = fields.Char(related='partner_id.street', string="Address")
    sector = fields.Char(related="partner_id.sector", string="Sector")

然后我添加onchange了在使用定义的 One2Many 字段中加载选股的方法tree

<field name="line_ids" >
    <tree>
        <field name="name" />
            <field name="partner_id" />
            <field name="address"/>
            <field name="sector"/>
            <field name="state" />
        </tree>
</field>

我在搜索中使用了一个简单的域,[('id', '<', '10')]然后我更改了line_ids值,但 Web 视图中没有加载任何行。

在多次尝试查找日志错误但没有成功后,我将代码从新 API 更改为旧 API:

class StockPicking(osv.osv):
    _inherit = "stock.picking"

    _columns = {
        'address': fields.related('partner_id', 'street', type='char', relation='res.partner', string='Address'),
        'sector': fields.related('partner_id', 'sector', type='many2one', relation='sector', string='Sector')
    }

由于一个我不知道的原因它起作用了。

有人知道为什么这不能使用新的 API 吗?

标签: odoo-8one2many

解决方案


推荐阅读