def generate_uuid_file_name(self, filename):
self.original_filename = filename
extension = filename.rsplit('.', 1)[1]
newfilename = uuid.uuid4().__str__() + '.' + extension
return self.directory() + newfilename
class FileUpload(models.Model):
original_filename = models.CharField(max_length=128)
fileobj = models.FileField(upload_to=generate_uuid_file_name)
上传时,
{"errors": {"original_filename": ["This field is required."]}, "success": false}
在 FileUpload.original_filename 中添加 blank=True, null=True 可以让上传成功,但不会保存原始文件名。在 Django 1.5 上。根据这篇文章,这应该可行。