Bro*_*sef 3 python sqlalchemy flask
我想将音频文件存储在我的数据库中。例如,我知道字符串会使用db.String, integers 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)
Run Code Online (Sandbox Code Playgroud)
存储二进制数据时,使用LargeBinary类型。尽管它的名字,它适用于任何大小的二进制数据。
data = db.Column(db.LargeBinary)
Run Code Online (Sandbox Code Playgroud)
从 Flask 视图中上传的文件中读取数据。
audio.data = request.files['data'].read()
Run Code Online (Sandbox Code Playgroud)
与将数据存储在数据库中相比,通常最好将文件存储在文件系统中,并将文件的路径存储在数据库中。
由于您可能正在提供这些文件,而不仅仅是存储它们,因此从文件系统提供文件会更有效。有关从数据库提供数据的更多讨论,请参阅此答案。
| 归档时间: |
|
| 查看次数: |
3232 次 |
| 最近记录: |