Allow DateField to specify defaults directly on class

This commit is contained in:
Damien Nozay 2015-01-04 12:28:52 -08:00
parent be661824ac
commit ff28a6652d

View File

@ -824,6 +824,7 @@ class DateTimeField(Field):
'invalid': _('Datetime has wrong format. Use one of these formats instead: {format}'), 'invalid': _('Datetime has wrong format. Use one of these formats instead: {format}'),
'date': _('Expected a datetime but got a date.'), 'date': _('Expected a datetime but got a date.'),
} }
# allows subclasses to change defaults
format = api_settings.DATETIME_FORMAT format = api_settings.DATETIME_FORMAT
input_formats = api_settings.DATETIME_INPUT_FORMATS input_formats = api_settings.DATETIME_INPUT_FORMATS
default_timezone = timezone.get_default_timezone() if settings.USE_TZ else None default_timezone = timezone.get_default_timezone() if settings.USE_TZ else None
@ -889,12 +890,13 @@ class DateField(Field):
'invalid': _('Date has wrong format. Use one of these formats instead: {format}'), 'invalid': _('Date has wrong format. Use one of these formats instead: {format}'),
'datetime': _('Expected a date but got a datetime.'), 'datetime': _('Expected a date but got a datetime.'),
} }
# allows subclasses to change defaults
format = api_settings.DATE_FORMAT format = api_settings.DATE_FORMAT
input_formats = api_settings.DATE_INPUT_FORMATS input_formats = api_settings.DATE_INPUT_FORMATS
def __init__(self, format=empty, input_formats=None, *args, **kwargs): def __init__(self, *args, **kwargs):
self.format = format if format is not empty else self.format self.format = kwargs.pop('format', self.format)
self.input_formats = input_formats if input_formats is not None else self.input_formats self.input_formats = kwargs.pop('input_formats', self.input_formats)
super(DateField, self).__init__(*args, **kwargs) super(DateField, self).__init__(*args, **kwargs)
def to_internal_value(self, value): def to_internal_value(self, value):