跳至內容
選單
此問題已被標幟
4 回覆
11733 瀏覽次數

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
163
0
12月 24
946
2
10月 24
1077
1
8月 24
2184
2
7月 24
1458