Python Openerp创建函数在包含字段值时发出键错误
我试图将“花名册时间”类中的“名称”和“花名册类型”类中的“类型”连接起来,并将这些值分配到“花名册类型”类的“名称”字段中。但它发出了关键错误。请帮我解决这个问题 排班时间类 名册类型Python Openerp创建函数在包含字段值时发出键错误,python,python-2.7,openerp,openerp-7,Python,Python 2.7,Openerp,Openerp 7,我试图将“花名册时间”类中的“名称”和“花名册类型”类中的“类型”连接起来,并将这些值分配到“花名册类型”类的“名称”字段中。但它发出了关键错误。请帮我解决这个问题 排班时间类 名册类型 这是完整的创建方法吗?在花名册\u time创建方法中,未使用开始和结束变量,但这可能不是问题所在。有一次,我遇到了类似的魔术键错误问题,当我重新启动openERP并更新模块时,问题就解决了。啊,不,我只是在一些验证规则中使用了这些变量,并删除了该部分,因为问题越来越长,与此无关。这是完整的创建方法吗?在花名册
这是完整的创建方法吗?在
花名册\u time
创建
方法中,未使用开始
和结束
变量,但这可能不是问题所在。有一次,我遇到了类似的魔术键错误问题,当我重新启动openERP并更新模块时,问题就解决了。啊,不,我只是在一些验证规则中使用了这些变量,并删除了该部分,因为问题越来越长,与此无关。这是完整的创建方法吗?在花名册\u time
创建
方法中,未使用开始
和结束
变量,但这可能不是问题所在。有一次,我遇到了类似的魔术键错误问题,当我重新启动openERP并更新模块时,问题就解决了。啊,不,我只是在一些验证规则中使用了这些变量,并删除了该部分,因为问题越来越长,与此无关
class roster_time(osv.osv):
_name = "roster.time"
_description = "To create roster time slot"
_columns = {
'roster_id':fields.integer('Roster ID'),
'start_time': fields.char('Start Time',required=True),
'end_time':fields.char('End Time',required=True),
'rostertype':fields.many2one('roster.type','roster','Roster Time'),
'name':fields.char('Roster Time',required=True),
}
def create(self, cr, uid, vals, context=None):
start = vals['start_time']
end = vals['end_time']
name = str(vals['start_time']) +'-' + str(vals['end_time'])
vals.update({'name': name})
return super(roster_time, self).create(cr, uid, vals, context=context)
roster_time()
class roster_type(osv.osv):
_name = "roster.type"
_description = "To create roster type for each department"
_columns = {
'name': fields.char('Roster type'),
'type_name': fields.char('Type Name'),
'roster': fields.one2many('roster.time','rostertype','Time Slot',required=True),
'date_allocation_connection': fields.many2one('roster.days.allocation', 'type_connection', 'Date Allocation Connection'),
'roster_time_connection': fields.many2one('roster.time','Slot'),
'department_id': fields.many2one('hr.department','Department'),
}
def create(self, cr, uid, vals, context=None):
slot_id = self.pool.get('roster.time').browse(cr,uid, vals['roster_time_connection']).id
slot_name = self.pool.get('roster.time').browse(cr,uid, slot_id).name
name = str(vals['type_name']) +'-' + str(slot_name)
vals.update({'name': name})
return super(roster_type, self).create(cr, uid, vals, context=context)
roster_type()