我想使用相关字段(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
,但它仍然无效。
我对与Char
或Text
相关的字段没有问题。
错误如:
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