﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
13390	Using AdminSplitDateTime and clean method in DateTimeField	vaxXxa	nobody	"
'''models.py'''
{{{
class Order(models.Model):
    delivery_time_start = models.DateTimeField('Delivery Start', blank=True, null=True)
    delivery_time_end = models.DateTimeField('Delivery End', blank=True, null=True)
}}}

'''forms.py'''
{{{
from django.contrib.admin import widgets

class OrderForm(forms.ModelForm):
    class Meta:
        model = Order
        widgets = {
            'delivery_time_start': widgets.AdminSplitDateTime(),
            'delivery_time_end': widgets.AdminSplitDateTime(),
        }
}}}

When I try to leave field '''''delivery_time_start ''''' and '''''delivery_time_end''''' empty, I have error: ''""Enter a valid date/time.""'' cause '''clean''' method in DateTimeField get value - list of 2 empty string [u"""", u""""]:

{{{
    def clean(self, value):
        """"""
        Validates that the input can be converted to a datetime. Returns a
        Python datetime.datetime object.
        """"""
        super(DateTimeField, self).clean(value)
        if value in EMPTY_VALUES:
            return None
        if isinstance(value, datetime.datetime):
            return value
        if isinstance(value, datetime.date):
            return datetime.datetime(value.year, value.month, value.day)
        if isinstance(value, list):
            # Input comes from a SplitDateTimeWidget, for example. So, it's two
            # components: date and time.
            if len(value) != 2:
                raise ValidationError(self.error_messages['invalid'])
            value = '%s %s' % tuple(value)
}}}

, but '''EMPTY_VALUES''' has only None and """".

So, solution is - '''EMPTY_VALUES''' must contains list of 2 empty string.
"		closed	Forms	1.2-beta		fixed	AdminSplitDateTime	gregor@…	Ready for checkin	1	0	0	0	0	0
