制作一个字段必须是唯一的,并用它来调用录音,

Make a field to be obliged and unique , and use it to call recordings,

拜托我的朋友们,我有一个问题困扰着我什么是使一个字段具有义务和唯一性的解决方案,这个字段将服务于调用我的参考记录, 我试过这个解决方案,但它仍然接受使用相同 NumOffre 的注册。

class saisir_soumi(osv.osv):
_name='saisir.soumi' 

_rec_name = 'NumOffre'

_columns = {
    'NumOffre' : fields.char('N° Offre',required=True), # Must be obliged and unique 
    'organisme_s' : fields.char('Organisme',required=True),
    'taxe' : fields.selection([('17','17 %'),('12','12 %'),('10','10 %')],'Taxe Etablissement'),
    'des_offre' : fields.char('Designation de l\'offre'),
    'mont_marche' : fields.float('Montant Marché'),
    'date_depot' : fields.datetime('Date dépot'),
    'observation_s' : fields.text('Observation'),
    'order_line' : fields.one2many('saisir.soumi.ligne','order_id','soumission_id'),

    }
_sql_constraints = [
    ('uniq_NumOffre', 'unique(NumOffre,id)', "numero offre doit resté unique !"),
]

classsaisir_soumi_ligne(osv.osv): _姓名='saisir.soumi.ligne'

def onchange_value(self, cr, uid, ids, prix , quantite, context = None):
    return {'value': {'soustotal': prix * quantite}}

def on_change_produit(self, cr, uid, ids, product_id):
    val = {}
    prod = self.pool.get('product.product').browse(cr, uid, product_id)
    if prod:
        val['prix'] = prod.list_price
        val['qty_stock'] = prod.qty_available
        val['garantie'] = prod.warranty

    return {'value': val}

_columns= {
   'order_id': fields.many2one('saisir.soumission', 'Order Reference'),
   'product_id' : fields.many2one('product.product', 'Type Engin'),
   'quantite':fields.float(string='Quantité de soumi'),
   'qty_stock' : fields.float(string='Quantité Stock'),
   'marque' : fields.char('Marque'),
   'garantie' : fields.float('Garantie'),
   'prix' : fields.float('Prix Unitaire'),
   'soustotal' : fields.float('Sous total')
}

classsaisir_soumi(osv.osv): _姓名='saisir.soumi'

_columns= {
   'order_idd': fields.many2one('saisir.soumission', 'N° Offre'),
   'observation_d' : fields.text('Observation'),
   'Date_ouv_pli' : fields.date('Date Ouverture Plis'),
   'organisme_d' : fields.char('Organisme'),
   'nom_prenom_demar' : fields.char('Nom Démarcheur'),
   'date_depot_d' : fields.date('Date dépot de soumission'),
}

The constraint unique(NumOffre,id) restrict similar NumOffre and id,我想你想要的是unique(NumOffre)。您还需要确保在约束之前不存在重复的字段,否则它将不起作用。