Скажімо, у мене є клас, який представляє місця. Місцеположення "належить" клієнтам. Місцеположення ідентифікується кодом символу 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 працює лише тоді, коли він застосовується до певного поля, і це призведе до того, що вся таблиця має унікальний код для всіх локацій.