当用户登录数据库时,他会生成一个WAV音频文件(在浏览器中),该文件必须存储在数据库中。问题是,当我第一次存储文件时,一切都很好。但是,当我在那之后存储时,我得到IntegrityError
。有人有解决方案吗?
我当前的models.py
如下:
class InputFile(models.Model):
audio_file = models.FileField(upload_to='audio_files')
input_user = models.ForeignKey(User)
rec_date = models.DateTimeField('date recorded', auto_now_add=True)
答案 0 :(得分:-1)
我仍然建议将用户媒体存储为文件。这样就可以避免在数据库中存储大文件,这不仅效率低,而且速度慢。
此外,我不建议在Django请求 - 响应中执行音频处理。尝试使用像Celery这样的异步解决方案。
音频处理与视频处理非常相似。您可以从YouTube等视频分享网站的工作中获得很多想法。上传文件后,他们会在上传和编码完成后通知您。这发生在一个单独的任务队列中。
中间和最终媒体文件再次存储为文件并直接从文件系统提供。通过避开数据库层,您可以获得响应更快的应用程序。