查看“创建数据模型”的源代码
←
创建数据模型
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看并复制此页面的源代码:
Odoo 开发指导指出,模型的 Python 文件应放在一个 models 子目录中。为了简单起见,我们先不遵循这一准则,我们在 todo_app 模块的主目录中创建一个todo_model.py文件。 在文件中添加以下内容: # -*- coding: utf-8 -*- from odoo import models, fields class TodoTask(models.Model): _name = 'todo.task' _description = 'To-do Task' name = fields.Char('Description', required=True) is_done = fields.Boolean('Done?') active = fields.Boolean('Active?', default=True) 第一行是一个特殊的标记告诉Python解释器,这个文件有UTF-8,以便它可以期望和处理非ASCII字符。我们不会使用任何非 ANSI 字符,但无论如何这是一个很好的做法。 第二行是Python代码import语句,从Odoo核心导入模型和字段对象。 第三行声明了我们的新模型。它是从models.Model派生的类。 第四行设置_name属性,定义将在整个Odoo中引用此模型的标识符。注意,实际的Python类名,在这个例子中,TodoTask对其他Odoo模块是无意义的。 _name值将用作标识符。 请注意,此行和以下行是缩进的。如果你不熟悉Python,你必须知道这是很重要的:缩进定义一个嵌套的代码块,所以这四行应该是同样缩进。 然后我们有_description模型属性。它不是强制性的,但它为模型记录提供了一个用户友好的名称,可用于用户友好的消息。 最后三行定义模型的字段。值得注意的是name和active是特殊的字段名。默认情况下,当从其他模型引用它时,Odoo将使用name字段作为记录的标题。active字段用于停用记录,默认情况下,仅显示活动记录。我们将使用它来清除已完成的任务,而不会从数据库中删除它们。 现在,该文件尚未被模块使用。我们必须告诉Python使用__init__.py文件中的模块加载它。让我们编辑它以添加以下行: from . import todo_model 就是这样而已!为了使我们的Python代码更改生效,服务器实例需要重新启动(除非它使用--dev模式)。 我们不会看到任何菜单选项来访问这个新模型,因为我们还没有添加它们。我们仍然可以使用技术菜单查看新创建的模型。在顶部菜单设置中,转到技术|数据库结构|模型,在列表中搜索todo.task模型,并单击它以查看其定义: [[File:Odoo_moduls.png|caption]] 如果一切正常,则确认已创建模型和字段。如果您在此处看不到它们,请尝试重新启动服务器并进行模块升级,如前所述。 我们还可以看到一些我们没有声明的额外字段。这些是Odoo自动添加到每个新模型的保留字段。它们如下所示: *id是模型中每个记录的唯一数字标识符。 *create_date和create_uid指定创建记录的时间和由谁创建它。 *write_date和write_uid确认记录的上次修改时间以及谁对其进行了修改。 *__last_update是一个实际上不存储在数据库中的帮助信息。它用于并发检查。 上一节:[[模型层]] 下一节:[[加入自动化测试]]
返回至
创建数据模型
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
odoo 中文开发手册
odoo 开发参考
odoo 实施笔记
Odoo 最佳方案
关于 OdooV
Odoo FAQ
工具
链入页面
相关更改
特殊页面
页面信息
友情链接
odoo官网
odoo中文网
odoo实施