diff options
| author | Joseph Kocherhans <joseph@jkocherhans.com> | 2008-01-17 18:03:21 +0000 |
|---|---|---|
| committer | Joseph Kocherhans <joseph@jkocherhans.com> | 2008-01-17 18:03:21 +0000 |
| commit | fd20365b277bf48dbdbd82afa1346eadb96d9574 (patch) | |
| tree | 1e02d91fca33fb2fd52ff26125fe788470da4e3a /django/newforms/fields.py | |
| parent | 93c8e94bd6b004ae7a97502e664e6a530958ed9a (diff) | |
Fixed #6302. FileField no longer requires a value if one already exists. Thanks Brian Rosner and Øyvind Saltvik.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7021 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/newforms/fields.py')
| -rw-r--r-- | django/newforms/fields.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/django/newforms/fields.py b/django/newforms/fields.py index 3b8f4195b0..0761b8f2af 100644 --- a/django/newforms/fields.py +++ b/django/newforms/fields.py @@ -437,10 +437,12 @@ class FileField(Field): def __init__(self, *args, **kwargs): super(FileField, self).__init__(*args, **kwargs) - def clean(self, data): - super(FileField, self).clean(data) + def clean(self, data, initial=None): + super(FileField, self).clean(initial or data) if not self.required and data in EMPTY_VALUES: return None + elif not data and initial: + return initial try: f = UploadedFile(data['filename'], data['content']) except TypeError: @@ -456,12 +458,12 @@ class ImageField(FileField): 'invalid_image': _(u"Upload a valid image. The file you uploaded was either not an image or a corrupted image."), } - def clean(self, data): + def clean(self, data, initial=None): """ Checks that the file-upload field data contains a valid image (GIF, JPG, PNG, possibly others -- whatever the Python Imaging Library supports). """ - f = super(ImageField, self).clean(data) + f = super(ImageField, self).clean(data, initial) if f is None: return None from PIL import Image |
