主键的列必须按特定顺序排列。
我看到文档中的一些代码:
class User(Base):
__tablename__ = 'users'
id = Column(Integer)
__mapper_args__ = {
'primary_key':[id]
}
但它只是不起作用(我正在使用mysql,并且不会生成id主键)。 任何可能的解决方
答案 0 :(得分:38)
如果列的声明顺序与它们在主键中的顺序相同:
class User(Base):
field1 = Column(Integer, primary_key=True)
field2 = Column(Integer, primary_key=True)
否则在__table_args__
:
class User(Base):
field1 = Column(Integer)
field2 = Column(Integer)
__table_args__ = (
PrimaryKeyConstraint('field2', 'field1'),
{},
)