Disons que j'ai une classe qui représente des lieux. Les emplacements "appartiennent" aux clients. Les emplacements sont identifiés par un code unicode de 10 caractères. Le "code d'emplacement" doit être unique parmi les emplacements d'un client spécifique.
The two below fields in combination should be unique
customer_id = Column(Integer,ForeignKey('customers.customer_id')
location_code = Column(Unicode(10))
Donc si j'ai deux clients, le client "123" et le client "456". Ils peuvent tous deux avoir un emplacement appelé "principal" mais aucun ne peut avoir deux emplacements appelés "principal".
Je peux gérer cela dans la logique d'entreprise mais je veux m'assurer qu'il n'y a aucun moyen d'ajouter facilement cette exigence dans sqlalchemy. L'option unique=True semble ne fonctionner que lorsqu'elle est appliquée à un champ spécifique et elle ferait en sorte que la table entière n'ait qu'un code unique pour tous les emplacements.