这是一个管理表单处理程序,例如我在django管理面板中上传了一个test.txt
文件:
def save_model(self, request, obj, form, change):
if 'file' in form.changed_data:
print("file has changed: ")
print(obj.file)
else:
print("file has not changed")
super(FileAdmin, self).save_model(request, obj, form, change)
这里我从上传表单中获取原始文件名,但事实上,如果已经存在具有此名称的文件,则文件将以其他名称保存,但在上面的代码中,我在所有情况下只获得原始名称,如何获取已保存的已更改/更新文件名?..
答案 0 :(得分:1)
" _somehash"当他看到目标目录中已存在同名文件时,您的项目filestorage会添加部分。保存模型实例时会发生这种情况,因此如果您只需要阅读" final"名称,您可以从your (saved) model field's .name
attribute获取它(我假设您当然使用FileField)。