sqlalchemy jest unikalny w wielu kolumnach

Powiedzmy, że mam klasę reprezentującą lokalizacje. Lokalizacje „należą” do klientów. Lokalizacje są identyfikowane przez kod 10 znaków Unicode. „Kod lokalizacji” powinien być unikalny wśród lokalizacji dla konkretnego klienta.

<code>The two below fields in combination should be unique
customer_id = Column(Integer,ForeignKey('customers.customer_id')
location_code = Column(Unicode(10))
</code>

Więc jeśli mam dwóch klientów, klienta „123” i klienta „456”. Oba mogą mieć lokalizację zwaną „główną”, ale żadna nie może mieć dwóch lokalizacji zwanych główną.

Potrafię sobie z tym poradzić w logice biznesowej, ale chcę się upewnić, że nie ma sposobu na łatwe dodanie wymogu w sqlalchemy. Wydaje się, że opcja unique = True działa tylko w przypadku zastosowania do określonego pola i spowoduje, że cała tabela będzie miała tylko unikalny kod dla wszystkich lokalizacji.

questionAnswers(1)

yourAnswerToTheQuestion