## 向导 向导通过动态表单来描述用户(或对话框)的交互会话。一个向导只是一个模型,扩展了类 `TransientModel` 而不是 [`Model`](https://www.odoo.com/documentation/9.0/reference/orm.html#openerp.models.Model "openerp.models.Model"). 这个类 `TransientModel` 继承自 [`Model`](https://www.odoo.com/documentation/9.0/reference/orm.html#openerp.models.Model "openerp.models.Model") 并重新利用其现有机制,具有以下特点: * 向导记录并不是持久的,在一定时间后,它们会自动从数据库中删除。这就是为什么他们被称为 *transient*. * 向导模型不需要显式访问权限:用户拥有向导记录的所有权限. * 向导记录可能是指定期记录或向导记录通过many2one字段,但定期记录 *不能是* 查阅向导记录通过many2one字段. 我们要创建一个向导,允许用户为特定的会话创建参与者,或者让用户在一次会议上创建一个会话列表。 练习 定义向导 与*会议*模型many2one关系与伙伴关系模型一many2many创建向导模式。 添加新文件 `openacademy/wizard.py`: *openacademy/__init__.py* ~~~ python from . import controllers from . import models from . import partner from . import wizard ~~~ *openacademy/wizard.py* ~~~ python # -*- coding: utf-8 -*- from openerp import models, fields, api class Wizard(models.TransientModel): _name = 'openacademy.wizard' session_id = fields.Many2one('openacademy.session', string="Session", required=True) attendee_ids = fields.Many2many('res.partner', string="Attendees") ~~~