如何在保存模型实例时覆盖模型的save方法以填充字段

时间:2019-07-01 08:52:10

标签: python django

在下面的模型中,我添加了file_name字段以仅存储文件名。

在保存时,我已经覆盖了save方法来填充此字段,但是通过管理面板上传文件后,该字段仍然为空。即使我在save方法中添加了一条打印语句,它也不会打印文件名。

已应用迁移。

我在做什么错了?

class DataFile(models.Model):
    file = models.FileField(upload_to='data files')
    file_name = models.TextField(default='', blank=True)
    uploaded_at = models.TimeField(default=datetime.datetime.now())

    def __str__(self):
        return f'{os.path.basename(self.file.path)}, uploaded at: {str(self.uploaded_at)})'

    def __save__(self, *args, **kwargs):
        self.file_name = os.path.basename(self.file.name)
        super(DataFile, self).save(*args, **kwargs)

0 个答案:

没有答案