## 向導
向導通過動態表單來描述用戶(或對話框)的交互會話。一個向導只是一個模型,擴展了類 `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")
~~~