def normalize_field(self, value): if isinstance(value, basestring): locale = settings.get_locale() date_str, time_str = value.split(' ') date = dates.parse_date(date_str, locale) time = dates.parse_time(time_str, locale) dtime = datetime.datetime(date.year, date.month, date.day, time.hour, time.minute, time.second) dtime = settings.get_timezone().localize(dtime) utc_dt = dates.UTC.normalize(dtime) return utc_dt.replace(tzinfo=None) return super(DateTimeField, self).normalize_field(value)
def get_date_format(self): pattern = dates.get_date_format(format=self.format, locale=settings.get_locale()).pattern for c in ('M', 'd', 'yy'): double_char = c * 2 if double_char not in pattern: pattern = pattern.replace(c, double_char) return pattern
def normalize_field(self, value): if isinstance(value, (int, float)): return value if value == '': value = None elif value is not None: value = float(parse_decimal(value, locale=settings.get_locale())) return super(FloatField, self).normalize_field(value)
def normalize_field(self, value): if value == '': value = None if isinstance(value, int): return value elif value is not None: locale = settings.get_locale() value = int(parse_decimal(value, locale=locale)) return super(IntegerField, self).normalize_field(value)
def normalize_field(self, value): if isinstance(value, Decimal): return value if value == '': value = None elif value is not None: value = parse_decimal(value, locale=settings.get_locale()) rounded = int(round(Decimal(value) * self.__multiplier)) value = Decimal(rounded) / self.__multiplier return super(DecimalField, self).normalize_field(value)
def normalize_field(self, value): if isinstance(value, basestring): return parse_date(value, locale=settings.get_locale()) return super(DateField, self).normalize_field(value)
def localize_field(self, value): if value is not None and value != '': return format_decimal(value, locale=settings.get_locale()) return super(DecimalField, self).localize_field(value)