跳至内容
菜单
此问题已终结
4 回复
11882 查看

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.


形象
丢弃
编写者 最佳答案

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 !'),

]

形象
丢弃

Try it in new database, you can get it,

最佳答案

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.

形象
丢弃
最佳答案
 _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

形象
丢弃
相关帖文 回复 查看 活动
2
7月 25
496
0
12月 24
1104
2
10月 24
1211
1
8月 24
2363
2
7月 24
1609