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
"""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):
"""
Handles an :class:`.Attribute` with a :class:`.ForeignKeyValue`.
- :param limit_choices_to: A :class:`Q` object, dictionary, or :class:`.ContentTypeLimiter` to restrict the queryset for the :class:`ForeignKeyAttribute`.
+ :param limit_choices_to: A :class:`Q` object, dictionary, or :class:`ContentTypeLimiter <philo.utils>` to restrict the queryset for the :class:`ForeignKeyAttribute`.
"""
value_class = ForeignKeyValue