Tôi đã thử duy nhất trong sql_constaints trong OpenERP (Odoo) bằng hai phương pháp khác nhau bằng cách sử dụng dấu ngoặc vuông {} hoặc dấu ngoặc vuông []. Cả hai đều hoạt động tốt. Điều nào là đúng?Định dạng đúng để sử dụng duy nhất trong _sql_constraints trong OpenERP là gì?
_sql_constraints = {
('email_uniq', 'unique(email)', ' Please enter Unique Email id.')
}
(hoặc)
_sql_constraints = [
('email_uniq', 'unique(email)', ' Please enter Unique Email id.')
]
Tái bút: Nhưng nếu tôi muốn sử dụng nhiều hơn một hạn chế nó chỉ chấp nhận dấu ngoặc vuông [] như ví dụ này.
_sql_constraints = [
('email_uniq', 'unique(email)', ' Please enter Unique Email id.'),
('contact_uniq', 'unique(contact)', ' Please enter Unique Mobile no.')
]
Lý do đằng sau nó là gì?
Nhưng nó tạo _sql_constraints khi tôi sử dụng {}. Ngay cả đối với nhiều ràng buộc. –
@ ea- +1 để được giải thích tốt đẹp! –
@TintuMon nó có thể hoạt động bằng may mắn hiện tại trong lõi odoo. Một danh sách và một tập hợp thường có thể được sử dụng thay thế cho nhau trong python. Sử dụng một tập hợp bạn sẽ không có lợi thế, và bạn có thể gặp lỗi với một thay đổi tương lai trong Odoo hoặc với một mô-đun bên ngoài có thể mong đợi danh sách hạn chế sql phải là _list_. –