【发布时间】:2020-06-23 13:20:53
【问题描述】:
用户希望通过应用程序拥有数据库备份和恢复功能。他们希望能够下载数据库文件并将其上传以在需要时恢复数据库。问题是 django 已经在运行当前的数据库文件。我写了以下逻辑来恢复数据库。
folder ='./'
if request.method == 'POST':
myfile = request.FILES['file']
fs = FileSystemStorage(location=folder)
if myfile.name.split(".")[1] != "sqlite3":
return JsonResponse({"res":"Please upload a database file."})
if os.path.isfile(os.path.join(folder, "db.sqlite3")):
os.remove(os.path.join(folder, "db.sqlite3"))
filename = fs.save("db.sqlite3", myfile)
file_url = fs.url(filename)
return JsonResponse({"res":file_url})
我得到以下正确的错误:
[WinError 32] 进程无法访问该文件,因为它正被另一个进程使用
那么,有没有办法通过我的应用程序来实现这个功能?
【问题讨论】: