拼命工作好好玩 2019-07-01
class ActivityEvent(models.Model): _name = 'activity.event' _inherit = 'event.event' _rec_name = 'test_field' # 字段 test_field = fields.Char(string="字段名称") # 多对多的关联表 employee_ids = fields.Many2many('files.employee', 'activity_event_files_employee_rel', string='与会员工') event_type_id = fields.Many2one( 'activity.type', string='Category', readonly=False, states={'done': [('readonly', True)]}, oldname='type')
例:_order =“create_date desc”:根据创建时间降序排列。可指定多个字段。
不指定desc默认升序排列;不指定_order默认id升序排列。
格式:: _constraints = [(method, 'error message', [field1, ...]), ...]
method检查方法。返回True | False
error message:不符合检查条件时(方法返回False)弹出的错误信息
[field1, ...]:字段名列表,这些字段的值会出现在错误消息中。
_sql_constraints:数据库约束。
例:_sql_constraints = [ ('number_uniq', 'unique(number, code)', 'error message') ]
会在数据库添加约束:
CONSTRAINT number_uniq UNIQUE(number, code)
格式:_inherit = '父类 _name'
格式:_inherits = {'父类 _name': '关联字段'}
例:state = fields.Selection([('draft', 'Draft'),('confirm', 'Confirmed'),('cancel', 'Cancelled')], string='Status')
其中,关联字段,关联表/中间表可不填,中间表缺省为:表1_表2_rel
例:sale_order = fields.One2many("sale.order", "contract_id",string="销售订单", domain=[('state','=','sale')])
例:amount = fields.Float(string="金额总计", compute=‘_compute_amount’,store=True)
_compute_amount为计算函数。
以下代码表示:company_id引用hr.payroll.advice中company_id
advice_id = fields.Many2one('hr.payroll.advice', string='Bank Advice')
company_id = fields.Many2one('res.company', related='advice_id.company_id', string='Company', store=True)