diff options
| author | Carl Meyer <carl@oddbird.net> | 2011-01-26 08:04:19 +0000 |
|---|---|---|
| committer | Carl Meyer <carl@oddbird.net> | 2011-01-26 08:04:19 +0000 |
| commit | 3af1bf8217653f4e5ed337957607835e3f146039 (patch) | |
| tree | 52e30b4b692d5f31965f52b5aff9fa59920bfbee /docs | |
| parent | c4b0878b4389f466d90ac458872df7ba28706023 (diff) | |
[1.2.X] Fixed #6456 - Excised FileField file deletion to avoid data loss. Thanks to durdinator for the report.
Backport of r15321 from trunk. Backported despite slight backwards-incompatibility due to potential for data loss.
git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@15322 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/releases/1.2.5.txt | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/docs/releases/1.2.5.txt b/docs/releases/1.2.5.txt index d8efb9d607..cfdaeaa94e 100644 --- a/docs/releases/1.2.5.txt +++ b/docs/releases/1.2.5.txt @@ -7,7 +7,7 @@ Welcome to Django 1.2.5! This is the fifth "bugfix" release in the Django 1.2 series, improving the stability and performance of the Django 1.2 codebase. -With one exception, Django 1.2.5 maintains backwards compatibility +With two exceptions, Django 1.2.5 maintains backwards compatibility with Django 1.2.4, but contain a number of fixes and other improvements. Django 1.2.5 is a recommended upgrade for any development or deployment currently using or targeting Django 1.2. @@ -15,8 +15,25 @@ development or deployment currently using or targeting Django 1.2. For full details on the new features, backwards incompatibilities, and deprecated features in the 1.2 branch, see the :doc:`/releases/1.2`. -One backwards incompatibility -============================= +Backwards incompatible changes +============================== + +FileField no longer deletes files +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In earlier Django versions, when a model instance containing a +:class:`~django.db.models.FileField` was deleted, +:class:`~django.db.models.FileField` took it upon itself to also delete the +file from the backend storage. This opened the door to several potentially +serious data-loss scenarios, including rolled-back transactions and fields on +different models referencing the same file. In Django 1.2.5, +:class:`~django.db.models.FileField` will never delete files from the backend +storage. If you need cleanup of orphaned files, you'll need to handle it +yourself (for instance, with a custom management command that can be run +manually or scheduled to run periodically via e.g. cron). + +Use of custom SQL to load initial data in tests +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Django provides a custom SQL hooks as a way to inject hand-crafted SQL into the database synchronization process. One of the possible uses |
