From b639b27fcefa205df835662bec0909e3f0d81b99 Mon Sep 17 00:00:00 2001 From: Joseph Spiros Date: Tue, 31 Jan 2012 19:04:02 -0500 Subject: [PATCH] Fixed an exception with JSONAttributes using DateField or DateTimeField as their field template when the stored value is None. Fixes #178. --- philo/models/fields/entities.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/philo/models/fields/entities.py b/philo/models/fields/entities.py index 0558d3e..167fd39 100644 --- a/philo/models/fields/entities.py +++ b/philo/models/fields/entities.py @@ -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): -- 2.20.1