Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Browse files

Fixed #15566 - Documented that update() doesn't honor DateField.auto_now

Thanks Shabda Raaj for the draft patch.
  • Loading branch information...
1 parent 09a9971 commit dc01e41d2343386b481b983828fd861303877e81 @timgraham timgraham committed
Showing with 10 additions and 9 deletions.
  1. +4 −4 docs/howto/custom-model-fields.txt
  2. +6 −5 docs/topics/db/queries.txt
8 docs/howto/custom-model-fields.txt
@@ -181,10 +181,10 @@ card values plus their suits; 104 characters in total.
Many of Django's model fields accept options that they don't do anything
with. For example, you can pass both
:attr:`~django.db.models.Field.editable` and
- :attr:`~django.db.models.Field.auto_now` to a
+ :attr:`~django.db.models.DateField.auto_now` to a
:class:`django.db.models.DateField` and it will simply ignore the
:attr:`~django.db.models.Field.editable` parameter
- (:attr:`~django.db.models.Field.auto_now` being set implies
+ (:attr:`~django.db.models.DateField.auto_now` being set implies
``editable=False``). No error is raised in this case.
This behavior simplifies the field classes, because they don't need to
@@ -516,8 +516,8 @@ for the first time, the ``add`` parameter will be ``True``, otherwise it will be
You only need to override this method if you want to preprocess the value
somehow, just before saving. For example, Django's
:class:`~django.db.models.DateTimeField` uses this method to set the attribute
-correctly in the case of :attr:`~django.db.models.Field.auto_now` or
+correctly in the case of :attr:`~django.db.models.DateField.auto_now` or
If you do override this method, you must return the value of the attribute at
the end. You should also update the model's attribute if you make any changes
11 docs/topics/db/queries.txt
@@ -968,11 +968,12 @@ Be aware that the ``update()`` method is converted directly to an SQL
statement. It is a bulk operation for direct updates. It doesn't run any
:meth:`` methods on your models, or emit the
``pre_save`` or ``post_save`` signals (which are a consequence of calling
-:meth:``). If you want to save every item in a
-:class:`~django.db.models.query.QuerySet` and make sure that the
-:meth:`` method is called on each instance, you
-don't need any special function to handle that. Just loop over them and call
+:meth:``), or honor the
+:attr:`~django.db.models.DateField.auto_now` field option.
+If you want to save every item in a :class:`~django.db.models.query.QuerySet`
+and make sure that the :meth:`` method is called on
+each instance, you don't need any special function to handle that. Just loop
+over them and call :meth:``::
for item in my_queryset:

0 comments on commit dc01e41

Please sign in to comment.
Something went wrong with that request. Please try again.