Openerp Odoo 9无法保存多个型号的id

Openerp Odoo 9无法保存多个型号的id,openerp,relationship,one-to-many,odoo-9,many-to-one,Openerp,Relationship,One To Many,Odoo 9,Many To One,我目前正在构建一个类似于项目模块的模块,它显示模型“test.project”的看板视图,当我单击看板视图时,它显示与“test.project”相关的模型“test.task”的树视图 所以我在下面编了一个代码 class Test_project(osv.osv): _name = "test.project" _columns = { 'name': fields.char('Name'), 'task_ids': fields.one2m

我目前正在构建一个类似于项目模块的模块,它显示模型“test.project”的看板视图,当我单击看板视图时,它显示与“test.project”相关的模型“test.task”的树视图

所以我在下面编了一个代码

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。

您已经在
项目id
字段的定义上设置了
required=1
。这意味着每次创建和保存记录时,您必须为该字段指定一个值,否则您将无法保存它。

在“test.task”项目中需要项目id,因此在为“test.task”项目id=False创建记录时,必须指定此值error@ADVALAKI那么,在为项目创建记录时,如何获取项目id“test.task”?那么有没有办法让项目id保存在记录上?我在核心资源中找不到方法。你到底想做什么?请说明我想将项目id存储在模型“test.task”中,以便在具有域[(项目id=活动id)]的树状视图中使用它。因此,每个test.project记录只有test.task记录,其中有许多与test.project相关。这里的问题是,当您从
test.project
创建
test.task
时,project\u id字段会自动填充并包含test.project的id。如果要创建任务,您必须插入项目视图上的id字段,并自行分配,或覆盖打开任务的操作上的创建、写入或传递默认\u项目\u id谢谢!我成功地创建了模块,您建议在操作上传递默认\u项目\u id。