You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQLAlchemy中为Python bytes类型指定固定长度的数据库字段?

如何在SQLAlchemy中为Python bytes类型指定固定长度的数据库字段?

嘿,刚好能帮到你!其实你留意到的LargeBinary就是正确的选择,哪怕是16字节这种小长度的固定二进制字段也完全适用——别被它名字里的“Large”误导啦,它支持指定长度参数,用法和你熟悉的String(<length>)逻辑一模一样。

对于Python的bytes类型,如果你需要固定宽度的数据库字段,只需要在mapped_column里用LargeBinary(<固定长度>)来定义就行。比如你要存16字节的二进制数据(比如MD5的二进制形式),可以这么写:

class BinaryData(MyBase):
    __tablename__ = 'binary_data_table'

    id: Mapped[int] = mapped_column(primary_key=True)
    # 这里定义了一个固定16字节的二进制字段
    md5_binary: Mapped[bytes] = mapped_column(LargeBinary(16))

这样定义后,对应的Postgres数据库字段会是固定长度的bytea(16),完美匹配你的需求。和字符串类型的处理逻辑一致:不指定长度的话LargeBinary是可变宽度,加上长度参数就变成固定宽度了,完全适合小长度的二进制数据存储场景。

备注:内容来源于stack exchange,提问作者user2138149

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 17:09:30