(self, value: Any)
| 461 | self.auto_now_add = auto_now_add |
| 462 | |
| 463 | def to_python_value(self, value: Any) -> datetime.datetime | None: |
| 464 | if value is not None: |
| 465 | if isinstance(value, datetime.datetime): |
| 466 | value = value |
| 467 | elif isinstance(value, int): |
| 468 | value = datetime.datetime.fromtimestamp(value) |
| 469 | else: |
| 470 | value = parse_datetime(value) |
| 471 | if get_use_tz(): |
| 472 | # When use_tz=True, ensure all datetimes are timezone-aware |
| 473 | if timezone.is_naive(value): |
| 474 | value = timezone.make_aware(value, get_timezone()) |
| 475 | else: |
| 476 | value = localtime(value) |
| 477 | else: |
| 478 | # When use_tz=False, ensure all datetimes are naive |
| 479 | # Some backends (PostgreSQL TIMESTAMPTZ) return aware datetimes natively |
| 480 | if timezone.is_aware(value): |
| 481 | value = value.replace(tzinfo=None) |
| 482 | return value |
| 483 | |
| 484 | def to_db_value( |
| 485 | self, value: DatetimeFieldQueryValueType | None, instance: type[Model] | Model |
no test coverage detected