Fixed an exception with JSONAttributes using DateField or DateTimeField as their...
authorJoseph Spiros <joseph.spiros@ithinksw.com>
Wed, 1 Feb 2012 00:04:02 +0000 (19:04 -0500)
committerJoseph Spiros <joseph.spiros@ithinksw.com>
Wed, 1 Feb 2012 00:04:02 +0000 (19:04 -0500)
philo/models/fields/entities.py

index 0558d3e..167fd39 100644 (file)
@@ -2,7 +2,7 @@ import datetime
 from itertools import tee
 
 from django import forms
-from django.core.exceptions import FieldError
+from django.core.exceptions import FieldError, ValidationError
 from django.db import models
 from django.db.models.fields import NOT_PROVIDED
 from django.utils.text import capfirst
@@ -193,7 +193,10 @@ class JSONAttribute(AttributeProxyField):
                """If the field template is a :class:`DateField` or a :class:`DateTimeField`, this will convert the default return value to a datetime instance."""
                value = super(JSONAttribute, self).value_from_object(obj)
                if isinstance(self.field_template, (models.DateField, models.DateTimeField)):
-                       value = self.field_template.to_python(value)
+                       try:
+                               value = self.field_template.to_python(value)
+                       except ValidationError:
+                               value = None
                return value
        
        def get_storage_value(self, value):