AttributeError: 'model.name' object has no attribute 'generate'

AttributeError: 'model.name' object has no attribute 'generate'

我正在尝试从向导按钮调用函数,但出现此错误:

AttributeError: 'model.name' object has no attribute 'generate'

AttributeError: 'model.name' 对象没有属性 'generate'

这是我的模型代码:

class wizard(models.TransientModel):
    _name = 'model.name'
department_id = fields.Many2one('hr.department')
employee_id = fields.Many2one('hr.employee')
date_from = fields.Date(string = 'Start Date', required = True)
date_to = fields.Date(string = 'End Date', required = True)
state = fields.Selection([('draft', 'Draft'), ('verify', 'Waiting'),('done', 'Done'),('cancel', 'Rejected'),])
def generate(self, cr, uid, ids, context=None):
    return self.write(cr, uid, ids, {'state': 'draft'}, context=context)

在 xml 文件中:

<button name ="generate" type="object" string="Generate" class="oe_highlight"/>

谢谢

您的代码中存在缩进问题,属于class的字段和方法必须是下一级缩进。

class wizard(models.TransientModel):
    _name = 'model.name'

    department_id = fields.Many2one('hr.department')
    employee_id = fields.Many2one('hr.employee')
    date_from = fields.Date(string = 'Start Date', required = True)
    date_to = fields.Date(string = 'End Date', required = True)
    state = fields.Selection([('draft', 'Draft'), ('verify', 'Waiting'),    ('done', 'Done'),('cancel', 'Rejected'),])

    def generate(self, cr, uid, ids, context=None):
        return self.write(cr, uid, ids, {'state': 'draft'}, context=context)