如何使用ORM声明类创建表而不使用主键?
如果我没有将任何列设为primary_key = True
,则无法启动。
答案 0 :(得分:11)
SQLAlchemy核心不会抱怨缺少主键,因此可以使用Table(…)
创建此类表。但是设计ORM需要一种方法来识别对象所对应的行,因此在ORM中不能使用没有主键的表。
为什么以后需要添加此索引?这是真正的要求还是试图解决一些可能以其他方式解决的问题?如果您需要复合主键,则可以使用primary_key=True
中的Column
参数或PrimaryKeyConstraint(…)
中的__table_args__
来定义它。