我想知道如何使用' upload_to'按哈希值命名上传文件。在models.ImageField或models.FileField中。
我知道this包,但我希望能够更好地控制命名过程。
我的主要问题是实例不是真正的模型实例,因为它还没有被保存。我已经看过docs,但它没有提到解决方法,或者至少我没有得到它。
def get_upload_file_name(instance, filename):
pass
答案 0 :(得分:1)
您可以访问包含instance
实例的UploadFile
字段,您可以阅读内容:
import hashlib
def get_upload_file_name(instance, filename):
return hashlib.sha1(instance.field.read()).hexdigest()