Giới thiệu khả năng thêm một số logic nghiệp vụ vào mô hình của chúng tôi. Bây giờ chúng tôi có thể liên kết các nút với mã doanh nghiệp, nhưng làm cách nào để ngăn người dùng nhập dữ liệu không chính xác?
Odoo cung cấp hai cách để thiết lập các bất biến được xác minh tự động. và SQL constraints
SQL
Thẩm quyền giải quyết. tài liệu liên quan đến chủ đề này có thể được tìm thấy trong và trong tài liệu của PostgreSQL
Ghi chú
Mục tiêu. ở cuối phần này
Số tiền phải [đúng] dương
Các loại thuộc tính và thẻ phải có một tên duy nhất
Các ràng buộc SQL được xác định thông qua thuộc tính mô hình _sql_constraints
. Thuộc tính này được gán một danh sách các bộ ba chứa chuỗi [name, sql_definition, message]
, trong đó name
là tên ràng buộc SQL hợp lệ, sql_definition
là biểu thức ràng buộc bảng và message
là thông báo lỗi
Bạn có thể tìm thấy một ví dụ đơn giản
Bài tập
Thêm các ràng buộc SQL
Thêm các ràng buộc sau vào các mô hình tương ứng của chúng
Giá dự kiến của một tài sản phải hoàn toàn tích cực
Giá bán bất động sản phải dương
Giá chào bán phải hoàn toàn tích cực
Tên thẻ thuộc tính và tên loại thuộc tính phải là duy nhất
Mẹo. tìm kiếm từ khóa unique
trong cơ sở mã Odoo để biết các ví dụ về tên duy nhất
Khởi động lại máy chủ với tùy chọn
from odoo.exceptions import ValidationError ... @api.constrains['date_end'] def _check_date_end[self]: for record in self: if record.date_end