gpt4 book ai didi

sqlalchemy - SQLAlchemy 中 2 列唯一的主键

转载 作者:行者123 更新时间:2023-12-05 02:03:24 26 4
gpt4 key购买 nike

使用 SQLAlchemy 我对复合键(?)、uniqueconstraint、primarykeyconstraint 等有点困惑。如何创建一个超过 2 列的唯一类,并引用该唯一组合?假设每个 User 通过 nameemail 的组合是唯一的:

class User(Base):
__tablename__ = 'user'
name = Column(String)
email = Column(String)

我应该使用 UniqueConstraint 吗?:

class User(Base):
__tablename__ = 'user'
name = Column(String)
email = Column(String)
__table_args__ = (UniqueConstraint(name, email), )

但是我该如何引用另一个类中的特定用户呢?

最佳答案

感谢您的反馈。事实证明,向每一列添加 primary_key=True 会自动创建一个复合主键,这意味着组合必须是唯一的,但每一列单独不必是唯一的。所以这就足够了:

class User(Base):
__tablename__ = 'user'
name = Column(String, primary_key=True)
email = Column(String, primary_key=True)

关于sqlalchemy - SQLAlchemy 中 2 列唯一的主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65271004/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com