python获取数据库列数据类型_python – 哪个SQLAlchemy列类型应该用于二进制数据?...

我想将音频文件存储在我的数据库中.我知道,例如,字符串将使用db.String,整数db.Integer,但不会使用音频数据.在SQLAlchemy中使用什么数据类型来存储这种类型的数据?

class Audio(db.Model):

__tablename__ = 'audio'

id = db.Column(db.Integer, primary_key=True)

timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow)

author_id = db.Column(db.Integer, db.ForeignKey('users.id'))

title = db.Column(db.String(64), unique=True)

解决方法:

存储二进制数据时,请使用LargeBinary类型.尽管它的名称,它适用于任何大小的二进制数据.

data = db.Column(db.LargeBinary)

在Flask视图中读取上传文件中的数据.

audio.data = request.files['data'].read()

不是将数据存储在数据库中,通常最好将文件存储在文件系统中,并将文件的路径存储在数据库中.

由于您可能正在为这些文件提供服务,而不仅仅是存储它们,因此从文件系统提供文件效率要高得多.有关从数据库提供数据的更多讨论,请参见this answer.

标签:python,sqlalchemy,flask

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值