我正在尝试使用 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_hash
和 password_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/