我创建了一个新模型并添加了一个 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/