Ensured that BoundField.as_widget always returns properly localized fields.

This is a follow-up to #18777 which improperly converted to strings in
prepare_value and as such caused regressions like #21074.

Refs #18777, #21074
This commit is contained in:
Florian Apolloner 2013-09-21 22:54:00 +02:00
parent 9e4509107b
commit 56743cf9e3
2 changed files with 3 additions and 3 deletions

View File

@ -115,8 +115,6 @@ class Field(object):
super(Field, self).__init__() super(Field, self).__init__()
def prepare_value(self, value): def prepare_value(self, value):
if self.widget.is_localized:
value = formats.localize_input(value)
return value return value
def to_python(self, value): def to_python(self, value):
@ -468,7 +466,6 @@ class DateTimeField(BaseTemporalField):
} }
def prepare_value(self, value): def prepare_value(self, value):
value = super(DateTimeField, self).prepare_value(value)
if isinstance(value, datetime.datetime): if isinstance(value, datetime.datetime):
value = to_current_timezone(value) value = to_current_timezone(value)
return value return value

View File

@ -463,6 +463,9 @@ class BoundField(object):
if not widget: if not widget:
widget = self.field.widget widget = self.field.widget
if self.field.localize:
widget.is_localized = True
attrs = attrs or {} attrs = attrs or {}
auto_id = self.auto_id auto_id = self.auto_id
if auto_id and 'id' not in attrs and 'id' not in widget.attrs: if auto_id and 'id' not in attrs and 'id' not in widget.attrs: