﻿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	Dan Madere	"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	closed	File uploads/storage	1.11	Normal	invalid	QueryDict, upload, file	Jeff Herbert Fortes Dmytro Litvinov	Accepted	1	0	0	0	0	0
