python-使用SQLAlchemy ORM作为非主键,唯一的自动递增ID
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-使用SQLAlchemy ORM作为非主键,唯一的自动递增ID,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含975字,纯文字阅读大概需要2分钟。
内容图文
![python-使用SQLAlchemy ORM作为非主键,唯一的自动递增ID](/upload/InfoBanner/zyjiaocheng/886/04bb4930f36d40a8878596c7a3833151.jpg)
当我运行以下代码时,我期望first_name和last_name是复合主键,并且id是行的自动递增索引,但不充当主键,因为其余信息在那里我需要定义表的唯一性,而不是给定的ID.
Base = declarative_base()
Session = sessionmaker(bind=db)
session = Session()
class Person(Base):
__tablename__ = "people"
id = Column(Integer, index=True, unique=True, autoincrement=True, primary_key=False)
first_name = Column(String(30), primary_key=True)
last_name = Column(String(30), primary_key=True)
if __name__ == "__main__":
Base.metadata.create_all(db)
session.add_all([
Person(first_name="Winston", last_name="Moy"),
Person(first_name="Bill", last_name="Gates"),
Person(first_name="Steve", last_name="Jobs"),
Person(first_name="Quinten", last_name="Coldwater")
])
session.commit()
我在DataGrip中查看结果的问题,正在获取下表.数据未按添加顺序排序,并且id列为null,而不是我期望的自动递增整数.
需要明确的是:我的问题是:如何为不是主键的SQLAlchemy ORM类创建自动增量索引?
解决方法:
在撰写本文时,SQLAlchemy 1.1不支持对非主键字段进行自动递增.
内容总结
以上是互联网集市为您收集整理的python-使用SQLAlchemy ORM作为非主键,唯一的自动递增ID全部内容,希望文章能够帮你解决python-使用SQLAlchemy ORM作为非主键,唯一的自动递增ID所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。