python - Odoo 9 空 TreeView

标签 python xml odoo odoo-9

我创建了一个新模型并添加了一个 TreeView 以在 res.partner View 上编辑/查看它。

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

这是 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服务器并升级模块。

关于python - Odoo 9 空 TreeView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39590816/

相关文章:

c# - 使用 LINQ to XML 解析深层嵌套属性时遇到问题

java - 如何处理 SOAP 调用中的方法及其参数

view - 如何使用服务器操作打开表单 View ?

javascript - 如何在对象处于隐藏模式时节省空间?

odoo - Odoo常用方法 'execute_kw'中,后缀 'kw'指的是什么?

python - 模块未找到错误 : No module named 'tensorflow.examples'

python - Python 命名中尾随下划线的优点是什么?

python - 如何初始化列表对象的 Numpy 数组

java - Android - 从警报生成器对话框检索文本输入

Python:求和的 Lambda