“向导模型”的版本间的差异
来自Odoo大V社-odoo中文开发手册
(创建页面,内容为“向导显示窗体视图向用户,通常作为一个对话框窗口,某些字段必须填写。这些然后会利用向导逻辑。 这实施使用相同的模...”) |
1360857908(讨论 | 贡献) |
||
第1行: | 第1行: | ||
− | + | 向导显示窗体视图给用户,通常作为一个对话框窗口,某些字段必须填写。这些然后会利用向导逻辑。 | |
− | + | ||
− | + | 这是使用相同的模型/视图体系结构作为常规视图的应用,但支持模型基于 models.TransientModel 代替models.Model。 | |
− | + | ||
+ | 这种类型的模型还具有数据库表示和存储状态存在,但是只有在向导完成工作之前,该数据才会有用。A计划的作业定期清理向导数据库表中的旧数据。 | ||
+ | 这个models/todo_wizard_model.py文件,我们需要定义与用户进行交互的字段︰ 要更新的任务清单,由负责的用户设置期限日期。 | ||
+ | |||
首先添加 models/__init__.py文件,写下面的代码行︰from .import todo_wizard_model | 首先添加 models/__init__.py文件,写下面的代码行︰from .import todo_wizard_model | ||
+ | |||
然后创建实际models/todo_wizard_model.py文件︰ | 然后创建实际models/todo_wizard_model.py文件︰ | ||
+ | |||
+ | |||
<nowiki> | <nowiki> | ||
#-*- coding︰ utf-8 -*- | #-*- coding︰ utf-8 -*- | ||
第15行: | 第21行: | ||
new_user_id = fields.Many2one('res.users',string='Responsible to Set') | new_user_id = fields.Many2one('res.users',string='Responsible to Set') | ||
</nowiki> | </nowiki> | ||
− | + | 值得注意的是,与常规模型的一对多关系不应该被使用在瞬态模型。这样做的原因是它需要有规律的模型具有与瞬态模型之间的反转多对一关系,但是这是不允许的,因为有可能需要定期收集模型记录和瞬态记录。 |
2017年5月28日 (日) 14:28的版本
向导显示窗体视图给用户,通常作为一个对话框窗口,某些字段必须填写。这些然后会利用向导逻辑。
这是使用相同的模型/视图体系结构作为常规视图的应用,但支持模型基于 models.TransientModel 代替models.Model。
这种类型的模型还具有数据库表示和存储状态存在,但是只有在向导完成工作之前,该数据才会有用。A计划的作业定期清理向导数据库表中的旧数据。 这个models/todo_wizard_model.py文件,我们需要定义与用户进行交互的字段︰ 要更新的任务清单,由负责的用户设置期限日期。
首先添加 models/__init__.py文件,写下面的代码行︰from .import todo_wizard_model
然后创建实际models/todo_wizard_model.py文件︰
#-*- coding︰ utf-8 -*- from odoo import models,fields,api class TodoWizard(models.TransientModel): _name = 'todo.wizard' _description = 'To-do Mass Assignment' task_ids = fields.Many2many('todo.task',string='Tasks') new_deadline = fields.Date('Deadline to Set') new_user_id = fields.Many2one('res.users',string='Responsible to Set')
值得注意的是,与常规模型的一对多关系不应该被使用在瞬态模型。这样做的原因是它需要有规律的模型具有与瞬态模型之间的反转多对一关系,但是这是不允许的,因为有可能需要定期收集模型记录和瞬态记录。