最佳答案
假设我有一个表示位置的类。地点“属于”顾客。位置由unicode的10个字符代码标识。“位置代码”在特定客户的位置中应该是唯一的。
The two below fields in combination should be unique
customer_id = Column(Integer,ForeignKey('customers.customer_id')
location_code = Column(Unicode(10))
如果我有两个客户,客户123和客户456。它们都可以有一个名为“main”的位置,但都不能有两个名为“main”的位置。
我可以在业务逻辑中处理这个问题,但我想确保没有办法轻松地在sqlalchemy中添加需求。unique=True选项似乎只在应用于特定字段时起作用,它会导致整个表对所有位置只有唯一的代码。