Assuming an inherited model with parent_ptr_id -> id, doing a deferred load and then fetching the id field would cause a database query, even if the id field's value is already loaded in the parent_ptr_id field.
Generic cleanup and dead code removal in deferred model field loading and model.__reduce__().
Databases with update_can_self_select = False (MySQL for example) generated non-necessary queries when saving a multitable inherited model, and when the save resulted in update.
Thanks smuss for the initial patch.
Thanks Keryn Knight for the report.
Setup.py now warns if it detects that Django is being installed over top of a previous installation that was never removed. This should only happen when installing with ``python setup.py install``, as pip automatically uninstalls before installing a new version and easy_install installs as an egg directory. Also generally updated the installation doc.
In Python 3, reduce has to be imported from functools.
Using cPickle, two apparently identical Unicode strings could generate different pickled results depending on previous operations on those strings.
headers.type/typeheader attributes are gone in Python 3. Thanks Vinay Sajip for the inspiration of his Python 3 branch.
The __cmp__ methods are unsupported in Python 3. _doctest.py has been left untouched because it is likely it will not be migrated to Python 3.
The class based views topic mentions that the djangoproject.com weblog is built using the date-based generic views, but looking at the code, it actually uses the deprecated pre-1.3 function based generic views.
Thanks to Michael Manfre for the report and Anssi Kääriäinen for the review.
…s it uses the trans tag.