Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Openerp创建函数在包含字段值时发出键错误_Python_Python 2.7_Openerp_Openerp 7 - Fatal编程技术网

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()