Odoo 9 空树视图

Odoo 9 Empty Tree View

我创建了一个新模型并在 res.partner 视图中向 edit/view 添加了一个树视图。

我可以毫无问题地创建条目,它们出现在数据库中。但是,我根本无法让树视图显示任何数据。即使删除了过滤器。

这里是风景xml

<page string="Projects/Training">
    <field name="training_logs" context="{'default_tl_partner_id': active_id}" domain="[('tl_partner_id','=',active_id)]">
        <tree string="Training Logs" editable="top">
            <field name="tl_partner_id" invisible="1"/>
            <field name="tl_date"/>
            <field name="tl_trainer"/>
            <field name="tl_present"/>
            <field name="tl_summary"/>
        </tree>
    </field>
</page>

要求的模型结构

class training_log(osv.Model):
_name='training.log'
_description='Log of past training events'
_order='tl_date'
_columns = {
    'tl_partner_id': fields.many2one('res.partner', 'Customer'),
    'tl_date': fields.date("Training Date"),
    'tl_trainer': fields.many2one('res.users', 'Trainer'),
    'tl_present': fields.char('People Present'),
    'tl_summary': fields.text('Training Summary')
}

res.partner - 我遗漏了所有不相关的字段。

class res_partner(osv.osv):
_inherit = "res.partner"
_columns = {

    'training_logs': fields.one2many('training.log','id','Training Logs'),



}

当我们定义one2many字段时,我们需要给出适当的many2one字段名称。

在你的例子中,你已经给出了 id 这意味着它将获取当前记录而不是因为你已经创建了新对象 training.log

尝试使用以下代码:

替换

'training_logs': fields.one2many('training.log','id','Training Logs'),

'training_logs': fields.one2many('training.log','tl_partner_id','Training Logs'),

之后,重启Odoo服务器,升级模块。