다음의 문서 에서 추출 하십시오 Column
.
unique – True 인 경우이 열에 고유 한 제약 조건이 있거나 인덱스 도 True 인 경우 인덱스를 고유 한 플래그로 만들어야 함을 나타냅니다. 제약 조건 / 인덱스에 여러 열을 지정하거나 명시 적 이름을 지정하려면 UniqueConstraint 또는 Index 구문을 명시 적으로 사용하십시오
.
이것들은 매핑 된 클래스가 아닌 테이블에 속하므로 테이블 정의에서 선언하거나 다음과 같이 선언적 인 것을 사용하는 경우 선언합니다 __table_args__
.
# version1: table definition
mytable = Table('mytable', meta,
# ...
Column('customer_id', Integer, ForeignKey('customers.customer_id')),
Column('location_code', Unicode(10)),
UniqueConstraint('customer_id', 'location_code', name='uix_1')
)
# or the index, which will ensure uniqueness as well
Index('myindex', mytable.c.customer_id, mytable.c.location_code, unique=True)
# version2: declarative
class Location(Base):
__tablename__ = 'locations'
id = Column(Integer, primary_key = True)
customer_id = Column(Integer, ForeignKey('customers.customer_id'), nullable=False)
location_code = Column(Unicode(10), nullable=False)
__table_args__ = (UniqueConstraint('customer_id', 'location_code', name='_customer_location_uc'),
)