MCPcopy
hub / github.com/django/django / to_python

Method to_python

django/db/models/fields/__init__.py:1520–1548  ·  view source on GitHub ↗
(self, value)

Source from the content-addressed store, hash-verified

1518 return "DateField"
1519
1520 def to_python(self, value):
1521 if value is None:
1522 return value
1523 if isinstance(value, datetime.datetime):
1524 if settings.USE_TZ and timezone.is_aware(value):
1525 # Convert aware datetimes to the default time zone
1526 # before casting them to dates (#17742).
1527 default_timezone = timezone.get_default_timezone()
1528 value = timezone.make_naive(value, default_timezone)
1529 return value.date()
1530 if isinstance(value, datetime.date):
1531 return value
1532
1533 try:
1534 parsed = parse_date(value)
1535 if parsed is not None:
1536 return parsed
1537 except ValueError:
1538 raise exceptions.ValidationError(
1539 self.error_messages["invalid_date"],
1540 code="invalid_date",
1541 params={"value": value},
1542 )
1543
1544 raise exceptions.ValidationError(
1545 self.error_messages["invalid"],
1546 code="invalid",
1547 params={"value": value},
1548 )
1549
1550 def pre_save(self, model_instance, add):
1551 if self.auto_now or (self.auto_now_add and add):

Callers 1

get_prep_valueMethod · 0.95

Calls 1

parse_dateFunction · 0.90

Tested by

no test coverage detected