我创建了一个Django< FileUploadHandler的子类,它对上传文件中的行进行计数。 我想将此计数保存在模型字段中。
我的选择是什么?
我知道我可以访问FileUploadHandler中的request
- 我应该将行数计算在会话中吗?
答案 0 :(得分:0)
我找到的解决方案是将聚合信息粘贴到返回的类文件对象中:
class TemporaryFileUploadHandler(DjangoTemporaryFileUploadHandler):
def new_file(self, *args, **kwargs):
super(TemporaryFileUploadHandler, self).new_file(*args, **kwargs)
self.line_count = 1
def receive_data_chunk(self, raw_data, start):
self.file.write(raw_data)
self.line_count += raw_data.count(b'\n')
def file_complete(self, file_size):
fobj = super(TemporaryFileUploadHandler, self).file_complete(file_size)
setattr(fobj, 'line_count', self.line_count)
return fobj