MCPcopy
hub / github.com/django/django / SplitDateTimeField

Class SplitDateTimeField

django/forms/fields.py:1242–1283  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1240
1241
1242class SplitDateTimeField(MultiValueField):
1243 widget = SplitDateTimeWidget
1244 hidden_widget = SplitHiddenDateTimeWidget
1245 default_error_messages = {
1246 "invalid_date": _("Enter a valid date."),
1247 "invalid_time": _("Enter a valid time."),
1248 }
1249
1250 def __init__(self, *, input_date_formats=None, input_time_formats=None, **kwargs):
1251 errors = self.default_error_messages.copy()
1252 if "error_messages" in kwargs:
1253 errors.update(kwargs["error_messages"])
1254 localize = kwargs.get("localize", False)
1255 fields = (
1256 DateField(
1257 input_formats=input_date_formats,
1258 error_messages={"invalid": errors["invalid_date"]},
1259 localize=localize,
1260 ),
1261 TimeField(
1262 input_formats=input_time_formats,
1263 error_messages={"invalid": errors["invalid_time"]},
1264 localize=localize,
1265 ),
1266 )
1267 super().__init__(fields, **kwargs)
1268
1269 def compress(self, data_list):
1270 if data_list:
1271 # Raise a validation error if time or date is empty
1272 # (possible if SplitDateTimeField has required=False).
1273 if data_list[0] in self.empty_values:
1274 raise ValidationError(
1275 self.error_messages["invalid_date"], code="invalid_date"
1276 )
1277 if data_list[1] in self.empty_values:
1278 raise ValidationError(
1279 self.error_messages["invalid_time"], code="invalid_time"
1280 )
1281 result = datetime.datetime.combine(*data_list)
1282 return from_current_timezone(result)
1283 return None
1284
1285
1286class GenericIPAddressField(CharField):

Callers 14

TestFormClass · 0.90
__init__Method · 0.90
__init__Method · 0.90
TestFormClass · 0.90
TestFormClass · 0.90
SplitDateTimeFormClass · 0.90
MessageFormClass · 0.90
FieldsetFormClass · 0.90
EventFormClass · 0.90

Calls

no outgoing calls

Tested by 6

__init__Method · 0.72
__init__Method · 0.72