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.