2017-03-08 570 views
0

我已经开发了购买的模块中odoo 10个社区,当我做的产品cammand我想禁用重复产品的选择控件one2many列表,如下图所示: enter image description hereodoo one2many列表中删除重复项

我想,以防止在这里的产品列表中的重复条目是我的命令模块的代码:

class PalBl(models.Model): 
     _name = 'pal.bl' 
     name = fields.Char('Reference', required=True) 
     supplier = fields.Many2one('pal.vendor', required=True) 
     date = fields.Date('Date', required=True) 
     totalHt = fields.Float('Total HT', store=True, readonly=True, compute='_get_tot') 
     totalTtc = fields.Float('Total TTC', store=True, readonly=True, compute='_get_tot') 
     items_id = fields.One2many('pal.prs.com', 'prod_id') 
     dateliv = fields.Date('Date de livraison prévue') 
     nb_pr = fields.Integer('Total de Produit') 
     state = fields.Selection([(1, 'En attente'), (2, 'Reglée')], 'type', default=1) 
     _sql_constraints = [('item_code_uniq', 'unique(items_id.name.code)', "le code d'un produit doit etre unique !")] 

和产品的这个代码:

class PalPrcom(models.Model): 
      _name = 'pal.prs.com' 
      name = fields.Many2one('pal.stock', 'Désignation', required=True) 
      code = fields.Char('Ref produit', store=True, readonly=True, compute='_getref', inverse='_gedef') 
      quantity = fields.Integer('Quantité', required=True, default=1) 
      price = fields.Float('Prix achat HT', store=True, readonly=True, compute='_getref') 
      tva = fields.Integer('TVA') 
      remise = fields.Integer('Remise') 
      prod_id = fields.Many2one('pal.bl') 
      _sql_constraints = [ ('quantity_gt_zero', 'CHECK (quantity>0)', 'La quantité de produit doit etre supérieur à zéro!') 

] 

回答

0

你可以使用两个for循环遍历你的one2many域并检查重复项