向模型中添加字段

来自Odoo大V社-odoo中文开发手册
95102545讨论 | 贡献2017年9月21日 (四) 13:50的版本

跳转至: 导航搜索

我们将添加几个字段到todo.task模型,用户负责的任务及截至日期。 代码风格指引推荐有一个 models/ subdirectory ,这是每个odoo模型的一个文件。所以我们应该从创建model子目录开始,以便用Python导入 编辑todo_user / __ init__.py文件,包含以下内容 from .import models 使用以下代码创建todo_user / models / __ init__.py:

from . import todo_task

上一行内容指引 Python 在同一目录去寻找一个叫odoo_task.py的文件,并完成导入。对于每个目录中的 Python ,你通常都有这一段从属行代码。 现在创建todo_user / models / todo_task.py文件,以扩展原来的模型:

# -*- coding: utf-8 -*-
from odoo import models, fields, api
class TodoTask(models.Model):
_inherit = 'todo.task'
user_id = fields.Many2one('res.users', 'Responsible')
date_deadline = fields.Date('Deadline')

这个名为TodoTask的类,对于 Python文件来说,是属于本地的,一般来讲,和其他模块没有任何关系, _inherit类的属性是的关键,这就显示Odoo的这个类是继承的,用来修改todo.task模型的。

笔记备注

注意到这里的_name属性是不存在的,因为是继承父模型的,所以不是必要的一个属性。

上述代码下的两行是正则字段的声明。 user_id字段表示一个用户是从用户模型res.users引用而来。 这是一个多对一的Many2one字段,这个字段是相当于数据库术语中的外键。 这里的截止日期是一个简单的日期型的字段。 在第5章中,结构化应用数据模型 ,我们将更详细地讲解Odoo中可用的字段类型。

上一节:扩展模型
下一节:修改现有字段