Hãy nói rằng tôi có một lớp đại diện cho các địa điểm. Địa điểm "thuộc về" khách hàng. Vị trí được xác định bởi mã 10 ký tự unicode. "Mã vị trí" phải là duy nhất trong số các vị trí cho một khách hàng cụ thể.
The two below fields in combination should be unique
customer_id = Column(Integer,ForeignKey('customers.customer_id')
location_code = Column(Unicode(10))
Vì vậy, nếu tôi có hai khách hàng, khách hàng "123" và khách hàng "456". Cả hai đều có thể có một vị trí gọi là "chính" nhưng không thể có hai vị trí được gọi là chính.
Tôi có thể xử lý điều này trong logic kinh doanh nhưng tôi muốn chắc chắn rằng không có cách nào để dễ dàng thêm yêu cầu trong sqlalchemy. Tùy chọn unique = True dường như chỉ hoạt động khi được áp dụng cho một trường cụ thể và nó sẽ khiến toàn bộ bảng chỉ có một mã duy nhất cho tất cả các vị trí.