存储标准enum.Enum值的SQLAlchemy类型
项目描述
SQLAlchemy-Enum34
此包提供了一个SQLAlchemy类型来存储标准 enum.Enum 的值(从Python 3.4开始成为标准库的一部分)。其内部表示与SQLAlchemy的内置 sqlalchemy.types.Enum 相等,但其Python表示不是 str,而是 enum.Enum。
请注意,此包在Python 2.6以及最新版本的Python 3.4上也能工作,通过 enum34 包。
以下示例展示了如何声明 enum 类型的列
import enum from sqlalchemy import Column, Integer from sqlalchemy.ext.declarative import declarative_base from sqlalchemy_enum34 import EnumType Base = declarative_base() class Color(enum.Enum): black = 'black' white = 'white' navy = 'navy' red = 'red' class Size(enum.Enum): small = 'S' medium = 'M' large = 'L' xlarge = 'XL' class Shirt(Base): id = Column(Integer, primary_key=True) color = Column(EnumType(Color), nullable=False) size = Column(EnumType(Size, name='shirt_size'), nullable=False)
以下REPL会话展示了这些列的工作方式
>>> shirt = session.query(Shirt).filter(Shirt.color == Color.navy).first() >>> shirt.color <Color.navy: 'navy'> >>> shirt.size <Size.large: 'large'>
由 Hong Minhee 在 Spoqa 编写,并采用 MIT 许可证分发。
变更日志
2.0.0
发布于 2021 年 4 月 14 日。
针对 SQLAlchemy 1.3+ 和现代 Python 版本的更新。[#6 由 Joongi Kim 提交]
1.0.1
发布于 2015 年 8 月 7 日。
修复了 sqlalchemy_enum34.Enum 不允许为空值的问题。[#1 由 Andrés Moya 提交]
1.0.0
第一个版本。发布于 2015 年 7 月 30 日。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码分发
SQLAlchemy-Enum34-2.0.0.tar.gz (3.7 kB 查看哈希值)
构建分发
关闭
SQLAlchemy-Enum34-2.0.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4d7d241cfc1f7032f897a97f53670e62fa33fd2a3bdc8501dbbb46685cf006ae |
|
MD5 | 3018221e7eb30910b4330d8b1f816efc |
|
BLAKE2b-256 | f612184e6c30c888b8a3dd031c8443542a2f3e6b724647d3dd4b0715bf7580a8 |
关闭
SQLAlchemy_Enum34-2.0.0-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6937191cfcb47ecee0f4111046626f143445962a94935fe50989b6560e6bc5c3 |
|
MD5 | 77b90604d154107d78b4e9676bccd849 |
|
BLAKE2b-256 | 927b33f113ee53c91dbae47c112a00a1abc30e6f903f9c518b566d72ea3a463b |