id,summary,reporter,owner,description,type,status,component,version,severity,resolution,keywords,cc,stage,has_patch,needs_docs,needs_tests,needs_better_patch,easy,ui_ux 29510,QueryDict.copy() returns closed files when the type of file is TemporaryUploadedFile,Liquid Scorpio,nobody,"When uploaded file size is greater than `FILE_UPLOAD_MAX_MEMORY_SIZE`, Django uses `TemporaryUploadedFile` to represent the file object. However, when executing `.copy()` on a `QueryDict` containing such a file, the returned object has the file but it is in closed state (`seekable()` is `False`). **Expected**: File should be present in open state (`seekable()` should be `True`) Below is a reproducible example and also contains version details: {{{ Python 2.7.12 (default, Dec 4 2017, 14:50:18) In [18]: import django In [19]: django.VERSION Out[19]: (1, 11, 11, u'final', 0) In [20]: from django.http.request import QueryDict In [21]: from django.core.files.uploadedfile import TemporaryUploadedFile In [22]: d = QueryDict(mutable=True) In [23]: f = TemporaryUploadedFile('test.jpg', 'image/jpeg', 100, 'utf-8') In [24]: f.seekable() Out[24]: True In [25]: d.appendlist('image', f) In [26]: d['image'].seekable() Out[25]: True In [27]: c = d.copy() In [28]: c['image'].seekable() Out[28]: False In [30]: }}} ",Bug,new,File uploads/storage,1.11,Normal,,"QueryDict, upload, file",,Accepted,0,0,0,0,0,0