python - SQLAlchemy 中使用什么类型来存储字节串?

标签 python postgresql sqlalchemy

我正在尝试使用 SQLAlchemy 将字节字符串存储在 PostgreSQL 数据库中。

我的模型是这样的:

class UserAccount(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String)
    password_hash = db.Column(db.String)
    password_salt = db.Column(db.String)

我希望 password_hashpassword_salt 都是字节字符串(即 str,因为我使用的是 Python 2.7),但即使我将字节传递给它,SQLAlchemy似乎把它们变成了 unicode。我也尝试在模型中使用 convert_unicode=False,但我得到了相同的结果。

我用什么在 SQLAlchemy 模型中存储字节?

最佳答案

使用 LargeBinary类型,它将使用 bytea在 PostgreSQL 上输入。您还可以使用 BYTEA如果您只打算使用 PostgreSQL,请直接输入。

还有其他 SQL 标准类型,例如 BINARY,但通常使用 LargeBinary 更容易,因为 SQLAlchemy 将为每个数据库使用首选类型。

关于python - SQLAlchemy 中使用什么类型来存储字节串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27197965/

相关文章:

postgresql - 在 Postgres 中的 bool_and 中将字符串转换为 bool 值或整数

python - 使用 create_engine 从 SQLAlchemy 到 MSSQL

python - flask + SQLAlchemy : Load database with records by running python script

python ttk.Entry如何使输入居中

python - 强制从可能可迭代对象的列表/数组中创建一维 numpy 数组

python - 在 PyPy 上运行 Scrapy

ruby-on-rails - 如何分组 Left Outer Join

python - 非质数只包含 2,3,5,7 优化

sql - HAVING 子句有什么问题?

python - sqlalchemy 有没有办法使用预先存在的数据库生成模型?