1
0
mirror of https://github.com/django/django.git synced 2025-10-31 09:41:08 +00:00

Fixed #4459 -- Added 'raw' argument to save method, to override any pre-save processing, and modified serializers to use a raw-save. This enables serialization of DateFields with auto_now/auto_now_add. Also modified serializers to invoke save() directly on the model baseclass, to avoid any (potentially order-dependent, data modifying) behavior in a custom save() method.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@5658 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Russell Keith-Magee
2007-07-12 07:45:35 +00:00
parent 090aa5210e
commit 2d6d20def7
5 changed files with 55 additions and 14 deletions

View File

@@ -118,6 +118,23 @@ happens.
Explicitly specifying auto-primary-key values is mostly useful for bulk-saving
objects, when you're confident you won't have primary-key collision.
Raw saves
---------
When you save an Django object, some pre-processing will occur on the the data
that is in the object. For example, if your model has a ``DateField`` with
``auto_now=True`` set, the pre-save phase will alter the data in the object
to ensure that the date field contains the current date stamp.
Although these automated changes can be very useful, there will be times when
you just want to save the data as-is. In these cases, you can invoke a *Raw Save*
by passing ``raw=True`` as an argument to the ``save()`` method::
b4.save(raw=True) # Saves object, but does no pre-processing
A raw save saves all the data in your object, but performs no pre-save processing
on the data in the object.
Saving changes to objects
=========================