from odoo import models, fields, api, _ from odoo.exceptions import ValidationError class CustomAccountMoveLine(models.Model): _inherit = 'account.move' _description = "account move line" fapiao = fields.Char(string='发票号', size=20, copy=False, tracking=True, required=True) @api.constrains('fapiao') def _check_fapiao(self): for record in self: if record.fapiao and (len(record.fapiao) != 20 or not record.fapiao.isdecimal()): raise ValidationError(_("Fapiao number is an 20-digit number. Please enter a correct one.")) @api.model_create_multi def create(self, vals): for val in vals: val['name'] = self.env['ir.sequence'].next_by_code('account.move') or '/' # 因为供应商与客户支付创建流程是先创建move line在修改来填充account_payment与move line的关联 return super(CustomAccountMoveLine, self).create(vals)