diff options
| author | Adam Zapletal <adamzap@gmail.com> | 2024-03-19 21:19:31 -0500 |
|---|---|---|
| committer | Sarah Boyce <42296566+sarahboyce@users.noreply.github.com> | 2024-05-23 12:03:57 +0200 |
| commit | 99273fd525129a973639044dfb12cfd732d8f1d6 (patch) | |
| tree | 249906c43d59e4099d230d2cd8e83762e445923b /docs/ref | |
| parent | 7e39ae5c8cf4c6601a4f47b72914349481c5331b (diff) | |
Fixed #24076 -- Added warnings on usage of dates with DateTimeField and datetimes with DateField.
Diffstat (limited to 'docs/ref')
| -rw-r--r-- | docs/ref/models/fields.txt | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/docs/ref/models/fields.txt b/docs/ref/models/fields.txt index fa19f58c54..e8b1cf8cba 100644 --- a/docs/ref/models/fields.txt +++ b/docs/ref/models/fields.txt @@ -798,6 +798,15 @@ Any combination of these options will result in an error. instead of a ``DateField`` and deciding how to handle the conversion from datetime to date at display time. +.. warning:: Always use :class:`DateField` with a ``datetime.date`` instance. + + If you have a ``datetime.datetime`` instance, it's recommended to convert + it to a ``datetime.date`` first. If you don't, :class:`DateField` will + localize the ``datetime.datetime`` to the :ref:`default timezone + <default-current-time-zone>` and convert it to a ``datetime.date`` + instance, removing its time component. This is true for both storage and + comparison. + ``DateTimeField`` ----------------- @@ -810,6 +819,16 @@ The default form widget for this field is a single :class:`~django.forms.DateTimeInput`. The admin uses two separate :class:`~django.forms.TextInput` widgets with JavaScript shortcuts. +.. warning:: Always use :class:`DateTimeField` with a ``datetime.datetime`` + instance. + + If you have a ``datetime.date`` instance, it's recommended to convert it to + a ``datetime.datetime`` first. If you don't, :class:`DateTimeField` will + use midnight in the :ref:`default timezone <default-current-time-zone>` for + the time component. This is true for both storage and comparison. To + compare the date portion of a :class:`DateTimeField` with a + ``datetime.date`` instance, use the :lookup:`date` lookup. + ``DecimalField`` ---------------- |
