【问题标题】:Modifying file name of a file in a Django ModelForm on save在保存时修改 Django ModelForm 中文件的文件名
【发布时间】:2012-05-23 03:09:39
【问题描述】:

我有一个带有 FileField 的 ModelForm 以及其他字段。我想在调用 myform.save() 时修改文件名以避免冲突(在文件名中插入 6 个随机字符)。在 Django 中执行此操作的正确方法是什么?

【问题讨论】:

标签: python django forms file modelform


【解决方案1】:

您需要覆盖模型的 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)

MyModel 的 ModelForm 将调用它的模型的保存方法并完成任务。 希望对你有帮助:)

【讨论】:

    猜你喜欢
    • 2011-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-08
    • 1970-01-01
    • 2011-10-26
    相关资源
    最近更新 更多