SQLAlchemy声明:没有任何主键的表?

时间:2012-01-23 15:16:16

标签: database-design orm sqlalchemy schema

如何使用ORM声明类创建表而不使用主键? 如果我没有将任何列设为primary_key = True,则无法启动。

1 个答案:

答案 0 :(得分:11)

SQLAlchemy核心不会抱怨缺少主键,因此可以使用Table(…)创建此类表。但是设计ORM需要一种方法来识别对象所对应的行,因此在ORM中不能使用没有主键的表。

为什么以后需要添加此索引?这是真正的要求还是试图解决一些可能以其他方式解决的问题?如果您需要复合主键,则可以使用primary_key=True中的Column参数或PrimaryKeyConstraint(…)中的__table_args__来定义它。