【问题标题】:Compose unique key on multiple foreign keys在多个外键上组合唯一键
【发布时间】:2017-02-08 00:21:36
【问题描述】:

鉴于这些 SQLAlchemy 模型:

class Key():
    key_id = Column('id', Integer, primary_key=True, autoincrement=True)
    name = Column(String(255))

class House():
    house_id = Column('id', Integer, primary_key=True, autoincrement=True)
    name = Column(String(255))

class HouseKey():
    house_key_id = Column('id', Integer, primary_key=True, autoincrement=True)
    house_id = Column(Integer, ForeignKey('house.id'))
    key_id = Column(Integer, ForeignKey('key.id'))

    UniqueConstraint('house_id', 'key_id')

    house = relationship('House', foreign_keys=[house_id])
    key = relationship('Key', foreign_keys=[key_id])

house_id, key_id 唯一键未创建。我相信this 是原因(如果我错了,请纠正我)。

如何在也是外键的列上创建复合唯一键?

【问题讨论】:

    标签: sqlalchemy flask-sqlalchemy


    【解决方案1】:

    表级UNIQUE约束进入__table_args__

    class HouseKey(Base):
        ...
        __table_args__ = (UniqueConstraint("house_id", "key_id"),)
    

    【讨论】:

      猜你喜欢
      • 2021-04-10
      • 1970-01-01
      • 2015-04-17
      • 1970-01-01
      • 2012-01-27
      • 2021-03-12
      • 2012-08-20
      • 2023-03-27
      • 2020-02-02
      相关资源
      最近更新 更多