我正在尝试在模型clean_fields()
中打开上传的文件,
class Person(models.Model):
attach = models.FileField(upload_to='attach')
def clean_fields(self, exclude=True):
f = open(self.attach.path, 'rb')
问题是,在模型save()
之前,self.attach.path实际上是错误的。缺少upload_to
路径。并且该文件尚不存在。
模型self.attach.path
save()
仅存在并且正确
如何在clean_fields()
进程中验证上传文件的内容?我想提出ValidationError,而不是在保存模型后出错。
答案 0 :(得分:0)
在这些情况下,我正在做这样......
def save(self, *args, **kwargs):
super(Gallery, self).save(*args, **kwargs)
gallery = self.process_control()
super(Gallery, self).delete()
return gallery
答案 1 :(得分:0)
def clean_fields(self, exclude=None):
self.SomeFileField.save(self.SomeFileField.name, self.SomeFileField, True)
然后一切都已到位。