Скажем, что у меня есть класс, который представляет местоположения. Местоположения "принадлежат" клиентам. Местоположения идентифицируются кодом символа Юникод 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". Они оба могут иметь место, называемое "основным", но не могут иметь два местоположения, называемые главными.
Я могу справиться с этим в бизнес-логике, но я хочу убедиться, что нет никакого способа легко добавить требование в sqlalchemy. Уникальный параметр = True работает только при применении к определенному полю, и это приведет к тому, что вся таблица будет иметь уникальный код для всех местоположений.