Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
4 Replies
11844 Tampilan

Hello All,

I have a char type field and for this field i want to add constraints for make this field unique. Means no record with same name should be enter by user. So, how to use  sql constaints for this field uniqueness in Odoo10.

Thanks in advance.


Avatar
Buang
Penulis Jawaban Terbai

I already added this, but it's not work for me. Your solution from old api link, i already seen this link

_sql_constraints = [

('rental_manag_location_uniq', 'unique(location_id)', 'Location ID must be unique !'),

]

Avatar
Buang

Try it in new database, you can get it,

Jawaban Terbai

Hai Pawan Sharma, 

_sql_constraints = [        ('name_uniq', 'UNIQUE (name)',  'You can not have two users with the same name !')    ]

'name_uniq' is constraint name give any name.(no need to define)

Example _constraints:-

    def _check_name(self, cr, uid, ids, context=None):
        for val in self.read(cr, uid, ids, ['name'], context=context):
            if val['name']:
                if len(val['name']) < 6: 
                   return False       

            return True

    _constraints = [        (_check_name, 'Name must have at least 6 characters.', ['name'])    ]

Note: Based on the above example in the records name field any duplicate record or name field less than 6 character then remove the records and add the constraints in python restart the server, update the module then only it works.

Avatar
Buang
Jawaban Terbai
 _sql_constraints = [
('value_campus_studenttype_policyfor_uniq', 'unique (campus_id,student_type,policy_for)', 'Record for this Campus and Student Type and Policy are already exists !')
]

Try this one

Avatar
Buang
Post Terkait Replies Tampilan Aktivitas
2
Jul 25
487
0
Des 24
1097
2
Okt 24
1201
1
Agu 24
2356
2
Jul 24
1599