1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | class DateTimeWithUsecsField(forms.DateTimeField):
def clean(self, value):
if value and '.' in value:
value, usecs = value.rsplit('.', 1) # rsplit in case '.' is used elsewhere
usecs += '0'*(6-len(usecs)) # right pad with zeros if necessary
try:
usecs = int(usecs)
except ValueError:
raise ValidationError('Microseconds must be an integer')
else:
usecs = 0
cleaned_value = super(DateTimeWithUsecsField, self).clean(value)
if cleaned_value:
cleaned_value = cleaned_value.replace(microsecond=usecs)
return cleaned_value
|
More like this
- DropDownMultiple widget by marinho 5 years, 1 month ago
- RequestFetchingMixin by eternicode 2 years, 4 months ago
- datetime.time/datetime.datetime to Unix Epoch (with microsecond support) by sleepycal 3 years, 1 month ago
- FuzzyDateTimeField by japerk 4 years, 2 months ago
- UTC DateTime field by ludo 5 years, 9 months ago
Comments