summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorKaren Tracey <kmtracey@gmail.com>2009-02-16 17:30:12 +0000
committerKaren Tracey <kmtracey@gmail.com>2009-02-16 17:30:12 +0000
commit11bfe7236609dad4c88d8352f64ed7a2888da936 (patch)
tree5108409890f0c13abf439e7ba998da89e9a522a2 /tests
parent2b1bb716ff7552bf9f98653c172a573c380e4798 (diff)
Fixed #10121: Restored code lost in r9766 that prevented overwriting an already-set blank=True FileField with blank. This would happen, for instance, in the admin if an object with a FileField was edited/saved but the file not re-uploaded, resulting in the association to the previously-uploaded file being lost. Adding the ability to re-blank FileFields when they are once set is the subject of a different ticket (#7048), for now the pre-9766 behavior here has just been restored in order to avoid unexpected data loss. Thanks to Alex for help in understanding how to fix this without un-doing the intent of r9766.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@9840 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
-rw-r--r--tests/modeltests/model_forms/models.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/modeltests/model_forms/models.py b/tests/modeltests/model_forms/models.py
index a202185ec6..6ef44d909b 100644
--- a/tests/modeltests/model_forms/models.py
+++ b/tests/modeltests/model_forms/models.py
@@ -1030,6 +1030,18 @@ True
>>> instance.file
<FieldFile: tests/test3.txt>
+# Instance can be edited w/out re-uploading the file and existing file should be preserved.
+
+>>> f = TextFileForm(data={'description': u'New Description'}, instance=instance)
+>>> f.fields['file'].required = False
+>>> f.is_valid()
+True
+>>> instance = f.save()
+>>> instance.description
+u'New Description'
+>>> instance.file
+<FieldFile: tests/test3.txt>
+
# Delete the current file since this is not done by Django.
>>> instance.file.delete()
>>> instance.delete()