from odoo import fields, models """ odoo会自动为模型添加一些特殊字段: - id: 主键,自动生成 - create_uid: 创建者的用户ID - create_date: 创建时间 - write_uid: 最后修改者的用户ID - write_date: 最后修改时间 - display_name: 显示名称,通常是name字段的值 - __last_update:一个计算字段 ,不在数据库中存储,用于做并发检测 """ class Book(models.Model): # UID,仅模型名用点号.分隔关键词 _name = 'library.book' # 模型记录显示名 _description = 'Book' # 以下声明模型字段 # name和active均为特殊字段名。默认对Odoo有特殊用途。 # name默认用作记录显示名,在另一个模型引用它时显示。active字段用于在用户界面中过滤掉无效记录。 name = fields.Char('Title', required=True) isbn = fields.Char('ISBN') active = fields.Boolean('Active?', default=True) date_published = fields.Date() image = fields.Binary('Cover') # Many2one表示一对多关系,Many2many表示多对多关系 publisher_id = fields.Many2one('res.partner', string='Publisher') author_ids = fields.Many2many('res.partner', string='Authors')