【发布时间】:2017-10-01 21:12:31
【问题描述】:
在我的模型中,我想使用验证器来分析文件的内容,我想不通的是如何访问文件的内容来解析它,因为文件尚未保存(这很好)当验证器运行时。
我不明白如何将传递给验证器的value 中的数据放入一个文件中(我假设我应该使用tempfile),以便我可以打开它并评估数据。
这是一个简化的示例,在我的真实代码中,我想打开文件并使用 csv 对其进行评估。
在 Models.py 中
class ValidateFile(object):
....
def __call__(self, value):
# value is the fieldfile object but its not saved
# I believe I need to do something like:
temp_file = tempfile.TemporaryFile()
temp_file.write(value.read())
# Check the data in temp_file
....
class MyItems(models.Model):
data = models.FileField(upload_to=get_upload_path,
validators=[FileExtensionValidator(allowed_extensions=['cv']),
ValidateFile()])
感谢您的帮助!
【问题讨论】:
标签: django django-models django-validation