summaryrefslogtreecommitdiff
path: root/docs/ref
diff options
context:
space:
mode:
authorAdam Zapletal <adamzap@gmail.com>2024-03-19 21:19:31 -0500
committerSarah Boyce <42296566+sarahboyce@users.noreply.github.com>2024-05-23 12:03:57 +0200
commit99273fd525129a973639044dfb12cfd732d8f1d6 (patch)
tree249906c43d59e4099d230d2cd8e83762e445923b /docs/ref
parent7e39ae5c8cf4c6601a4f47b72914349481c5331b (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.txt19
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``
----------------