Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
4 Trả lời
6757 Lượt xem

Hello,

This is my model :

class miadi_poidsConditionnement(models.Model):

 _name = 'miadi.poidsconditionnement'

 # _order = 'conditionnement_id asc'

 conditionnement_id = fields.Many2one('miadi.packaging', 'Packaging', default='', required=True)

 produit_id = fields.Many2one('product.product', 'Product', default='', required=True)

 nb_articles = fields.Integer(string='Number of products', default=0)

 poids = fields.Float(string='Packaging Weight', default=0)

 _sql_constraints = [

 ('uniq_id', 'unique(produit_id, conditionnement_id)', 'A product already exists with this packaging !'),

 ]

But my SQL constraints don't work ! I can create 2 records with the same "conditionnement_id" and "produit_id" but I shouldn't be able to do it.


Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

# class miadi_poidsConditionnement(models.Model):
                _sql_constraints    =    [   
                                ('uniq_id',   
                                    'UNIQUE (produit_id, conditionnement_id)',

                                    'A product already exists with this packaging !')]

Try this

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

check if there is any duplication before applying the constrains , if any one found then i won't take any effect , remove the duplication first then install/upgrade the module

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

SQL constraints works only for New Records, so you may need to test it in new Database.

Ảnh đại diện
Huỷ bỏ
Tác giả Câu trả lời hay nhất

Hi everybody,

I fix the problem unistalling the module and install it again

Ảnh đại diện
Huỷ bỏ