2017-07-28 95 views
0

我目前正在建设就像一个项目模块,显示看板视图模式“test.project”当我点击看板视图中的模块保存ID,它显示的是型号“测试树视图。任务'与'test.project'相关。Odoo 9无法从many2one模型

所以,我提出以下

class Test_project(osv.osv): 

    _name = "test.project" 
    _columns = { 
     'name': fields.char('Name'), 
     'task_ids': fields.one2many('test.task', 'project_id', string='TASK') 
    } 

class Test_Task(osv.osv): 

    _name = 'test.task' 
    _columns = { 
     'project_id': fields.many2one('test.project', string='Project ID', required=1), 
    } 

当我保存的数据为“test.project”,这是正确保存,但是当我保存的数据为“test.task”,它显示的代码错误是

IntegrityError: null value in column "project_id" violates not-null constraint 

无法获取的ID。

+0

在你的'test.task'project_id是必需的,所以在为'test.task'创建记录时project_id = False所以它给出这个错误 –

+0

@ADVALAKI那么如何在创建'test.task'记录时获得project_id, ? –

回答

1

您对project_id字段的定义设置required=1。这意味着每次创建和保存记录时,您都必须为该字段赋予一个值,否则您将无法保存该记录。

+0

然后有没有办法让project_id保存在记录中?我在核心来源找不到方法。 –

+0

你想要做什么?请具体 –

+0

我想PROJECT_ID存储在模型“test.task”上使用它的树视图与域[(PROJECT_ID = active_id)]。因此,每个test.project记录只有这many2one有关test.project –