sqlalchemy einzigartig über mehrere Spalten

Nehmen wir an, ich habe eine Klasse, die Orte repräsentiert. Standorte "gehören" den Kunden. Standorte werden durch einen Unicode-Code mit 10 Zeichen identifiziert. Der "Standortcode" sollte innerhalb der Standorte für einen bestimmten Kunden eindeutig sein.

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

Wenn ich also zwei Kunden habe, Kunde "123" und Kunde "456". Sie können beide einen Ort namens "main" haben, aber keiner von beiden kann zwei Orte namens "main" haben.

Ich kann damit in der Geschäftslogik umgehen, aber ich möchte sicherstellen, dass es keine Möglichkeit gibt, die Anforderung in sqlalchemy einfach hinzuzufügen. Die Option unique = True scheint nur zu funktionieren, wenn sie auf ein bestimmtes Feld angewendet wird, und würde dazu führen, dass die gesamte Tabelle nur für alle Speicherorte einen eindeutigen Code hat.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage