diff options
Diffstat (limited to 'ishtar_common/wizards.py')
-rw-r--r-- | ishtar_common/wizards.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py index e1f031818..b96e33669 100644 --- a/ishtar_common/wizards.py +++ b/ishtar_common/wizards.py @@ -22,6 +22,8 @@ import datetime from django.conf import settings from django.contrib.formtools.wizard.views import NamedUrlWizardView from django.core.exceptions import ObjectDoesNotExist +from django.core.files.images import ImageFile +from django.db.models.fields.files import FileField from django.shortcuts import render_to_response from django.template import RequestContext from django.utils.datastructures import MultiValueDict @@ -334,6 +336,11 @@ class Wizard(NamedUrlWizardView): for k in dct: if k.startswith('pk'): continue + # False set to None for images and files + if isinstance(obj.__class__._meta.get_field(k), FileField) or\ + isinstance(obj.__class__._meta.get_field(k), ImageFile): + if not dct[k]: + dct[k] = None setattr(obj, k, dct[k]) try: obj.full_clean() @@ -646,7 +653,9 @@ class Wizard(NamedUrlWizardView): continue if hasattr(value, 'pk'): value = value.pk - if value in (True, False): + if value in (True, False) or \ + isinstance(value, FileField) or \ + isinstance(value, ImageFile): initial[base_field] = value elif value != None: initial[base_field] = unicode(value) |