2017-10-21 108 views
0

我創建了一個Django的FileUploadHandler子類,用於對上傳文件中的行進行計數。 我想將此計數保存在模型字段中。將數據從Django FileUploadHandler保存到模型中

我有什麼選擇?

我知道我有權訪問FileUploadHandler中的request - 我是否應該將行數粘貼到會話中?

回答

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