如何在Odoo v8中存储相关领域?

时间:2016-05-27 11:44:30

标签: python python-2.7 openerp odoo-8

我想使用相关字段(selection,many2one和one2many)存储多个值

    class TaskTask(models.Model):
        _inherit = 'task.work.order'
        task_ids = fields.Many2one('task.task','Task')
        name = fields.Char(string='Task', size=64)
        type = fields.Selection(related='task_ids.type', comodel_name='task.task', string='Type', required=True, store=True)
        equipment_id = fields.Many2one(related='task_ids.equipment_id', comodel_name='task.equipment', string='Equipment', select=True, required=True, ondelete='restrict', store=True)
        labor_line_ids = fields.One2many(related='task_ids.labor_line_ids', comodel_name='task.task.labor.line' ,  string='Labor')

我使用此函数创建一个新的task_ids,我想将其他字段的属性添加到其中。

    @api.model
    def create(self, vals):
        task_obj = self.env['task.task']
        obj = super(TaskTask, self).create(vals)
        task_obj.create({
            'id': obj.id,
            'name': obj.name,
            'type': obj.type,
            'equipment_id': obj.equipment_id.id,
            'labor_line_ids':obj.labor_line_ids,
        })
    return obj

但是我选择了错误,很多人都有错误。 我已经尝试了comodel_name, store=True,但它仍然无效。 我对与CharText相关的字段没有问题。

错误如:

            Integrity Error
    [object with reference: equipment_id - equipment.id]

            Integrity Error
    [object with reference: type - type]

如果我将store=True添加到labor_line_ids,我得到了:

    TypeError: cannot concatenate 'str' and 'NoneType' objects

0 个答案:

没有答案