我有一个带有相册模型的照片库(只是标题和日期和内容)以及一张照片模型,其中包含一张foriegn键以及三张imageFields(常规,中间和拇指)。
当用户删除相册时,我需要删除所有与相册相关的照片(来自服务器),然后是所有指向相册的DB记录,然后是相册本身......
无法找到任何关于此事的信息,并且实际上找到了许多人从另一个人那里说出对话的答案。
任何人都可以澄清这一点,这是如何在现实世界中完成的?
非常感谢, 埃雷兹
答案 0 :(得分:0)
以下是我想出的问题的可能答案:
您需要导入shutil,然后:
@login_required def remove_albums(请求): if request.is_ajax(): 如果request.method =='POST': #if ajax调用删除我们得到要删除的专辑列表 albums_list = request.REQUEST ['albums_list']。rsplit(',') 对于albums_list中的专辑: obj_album = Album.objects.get(id = int(album)) #getting图像的目录而不是需要删除 dir_path = MEDIA_ROOT +'/ images / galleries /%d'%obj_album.id #deleting DB记录 obj_album.delete() #testing是否有文件夹(如果没有上传文件,可能会有没有文件夹的记录 - 在上传图像之前删除相册) 尝试: #deleting文件夹及其中的所有文件 shutil.rmtree(dir_path) OSError除外: 通过 返回HttpResponse('')
对不起代码的样子,不知道为什么,我不能让它显示正确...
玩得开心,祝你好运: - )