我有一个带有 FileField 的 ModelForm 以及其他字段。我想在调用 myform.save() 时修改文件名以避免冲突(在文件名中插入 6 个随机字符)。在 Django 中执行此操作的正确方法是什么?
问问题
426 次
1 回答
2
您需要覆盖模型的save
方法,而不是表单的方法。
class MyModel(models.Model):
# other fields
my_file = models.FileField(upload_to='uploaddir')
def save(self, *args, **kwargs):
new_name = 'file_name-random-chars.ext'
self.my_file.name = new_name
super(MyModel, self).save(*args, **kwargs)
您的 ModelFormMyModel
将调用它的模型的保存方法并做到这一点。希望能帮助到你 :)
于 2012-05-15T23:17:54.237 回答