Django 1.8.1 release notes¶
May 1, 2015
Django 1.8.1 fixes several bugs in 1.8 and includes some optimizations in the migrations framework.
버그 수정¶
Added support for serializing
timedeltaobjects in migrations (#24566).Restored proper parsing of the
testservercommand’s positional arguments (fixture names) (#24571).Prevented
TypeErrorin translation functionscheck_for_language()andget_language_bidi()when translations are deactivated (#24569).Fixed
squashmigrationscommand when usingSeparateDatabaseAndState(#24278).Stripped microseconds from
datetimevalues when using an older version of the MySQLdb DB API driver as it does not support fractional seconds (#24584).Fixed a migration crash when altering
ManyToManyFields (#24513).Fixed a crash with
QuerySet.update()on foreign keys to one-to-one fields (#24578).Fixed a regression in the model detail view of
admindocswhen a model has a reverse foreign key relation (#24624).Fixed a crash with
QuerySet.update()on foreign keys to instances withuuidprimary keys (#24611).Fixed database introspection with SQLite 3.8.9 (released April 8, 2015) (#24637).
Updated
urlpatternsexamples generated bystartprojectto remove usage of referencing views by dotted path indjango.conf.urls.url()which is deprecated in Django 1.8 (#24635).Fixed queries where an expression was referenced in
order_by(), but wasn’t part of the select clause. An example query isqs.annotate(foo=F('field')).values('pk').order_by('foo'))(#24615).Fixed a database table name quoting regression (#24605).
Prevented the loss of
null/not nullcolumn properties during field alteration of MySQL databases (#24595).Fixed JavaScript path of
contrib.admin’s related field widget when using alternate static file storages (#24655).Fixed a migration crash when adding new relations to models (#24573).
Fixed a migration crash when applying migrations with model managers on Python 3 that were generated on Python 2 (#24701).
Restored the ability to use iterators as queryset filter arguments (#24719).
Fixed a migration crash when renaming the target model of a many-to-many relation (#24725).
Removed flushing of the test database with
test --keepdb, which prevented apps with data migrations from using the option (#24729).Fixed
makemessagescrash in some locales (#23271).Fixed help text positioning of
contrib.adminfields that use theModelAdmin.filter_horizontalandfilter_verticaloptions (#24676).Fixed
AttributeError: function 'GDALAllRegister' not founderror when initializingcontrib.gison Windows.
Optimizations¶
Changed
ModelStateto deepcopy fields instead of deconstructing and reconstructing (#24591). This speeds up the rendering of model states and reduces memory usage when runningmanage.py migrate(although other changes in this release may negate any performance benefits).