January 2, 2015
Django 1.7.2 fixes several bugs in 1.7.1.
Additionally, Django’s vendored version of six, django.utils.six
, has
been upgraded to the latest release (1.9.0).
Fixed migration’s renaming of auto-created many-to-many tables when changing
Meta.db_table
(#23630).
Fixed a migration crash when adding an explicit id
field to a model on
SQLite (#23702).
Added a warning for duplicate models when a module is reloaded. Previously a
RuntimeError
was raised every time two models clashed in the app registry.
(#23621).
Prevented flush
from loading initial data for migrated apps
(#23699).
Fixed a makemessages
regression in 1.7.1 when
STATIC_ROOT
has the default None
value (#23717).
Added GeoDjango compatibility with mysqlclient database driver.
Fixed MySQL 5.6+ crash with GeometryField
s in migrations
(#23719).
Fixed a migration crash when removing a field that is referenced in
AlterIndexTogether
or AlterUniqueTogether
(#23614).
Updated the first day of the week in the Ukrainian locale to Monday.
Added support for transactional spatial metadata initialization on SpatiaLite 4.1+ (#23152).
Fixed a migration crash that prevented changing a nullable field with a default to non-nullable with the same default (#23738).
Fixed a migration crash when adding GeometryField
s with blank=True
on PostGIS (#23731).
Allowed usage of DateTimeField()
as Transform.output_field
(#23420).
Fixed a migration serializing bug involving float("nan")
and
float("inf")
(#23770).
Fixed a regression where custom form fields having a queryset
attribute
but no limit_choices_to
could not be used in a
ModelForm
(#23795).
Fixed a custom field type validation error with MySQL backend when
db_type
returned None
(#23761).
Fixed a migration crash when a field is renamed that is part of an
index_together
(#23859).
Fixed squashmigrations
to respect the --no-optimize
parameter
(#23799).
Made RenameModel
reversible
(#22248)
Avoided unnecessary rollbacks of migrations from other apps when migrating backwards (#23410).
Fixed a rare query error when using deeply nested subqueries (#23605).
Fixed a crash in migrations when deleting a field that is part of a
index/unique_together
constraint (#23794).
Fixed django.core.files.File.__repr__()
when the file’s name
contains
Unicode characters (#23888).
Added missing context to the admin’s delete_selected
view that prevented
custom site header, etc. from appearing (#23898).
Fixed a regression with dynamically generated inlines and allowed field references in the admin (#23754).
Fixed an infinite loop bug for certain cyclic migration dependencies, and made the error message for cyclic dependencies much more helpful.
Added missing index_together
handling for SQLite (#23880).
Fixed a crash when RunSQL
SQL content was collected by the schema editor,
typically when using sqlmigrate
(#23909).
Fixed a regression in contrib.admin
add/change views which caused some
ModelAdmin
methods to receive the incorrect obj
value
(#23934).
Fixed runserver
crash when socket error message contained Unicode
characters (#23946).
Fixed serialization of type
when adding a deconstruct()
method
(#23950).
Prevented the
django.contrib.auth.middleware.SessionAuthenticationMiddleware
from
setting a "Vary: Cookie"
header on all responses (#23939).
Fixed a crash when adding blank=True
to TextField()
on MySQL
(#23920).
Fixed index creation by the migration infrastructure, particularly when
dealing with PostgreSQL specific {text|varchar}_pattern_ops
indexes
(#23954).
Fixed bug in makemigrations
that created broken migration files when
dealing with multiple table inheritance and inheriting from more than one
model (#23956).
Fixed a crash when a MultiValueField
has invalid data (#23674).
Fixed a crash in the admin when using “Save as new” and also deleting a related inline (#23857).
Always converted related_name
to text (unicode), since that is required
on Python 3 for interpolation. Removed conversion of related_name
to text
in migration deconstruction (#23455 and #23982).
Enlarged the sizes of tablespaces which are created by default for testing on Oracle (the main tablespace was increased from 200M to 300M and the temporary tablespace from 100M to 150M). This was required to accommodate growth in Django’s own test suite (#23969).
Fixed timesince
filter translations in Korean (#23989).
Fixed the SQLite SchemaEditor
to properly add defaults in the absence of
a user specified default
. For example, a CharField
with blank=True
didn’t set existing rows to an empty string which resulted in a crash when
adding the NOT NULL
constraint (#23987).
makemigrations
no longer prompts for a default value when adding
TextField()
or CharField()
without a default
(#23405).
Fixed a migration crash when adding order_with_respect_to
to a table
with existing rows (#23983).
Restored the pre_migrate
signal if all apps have migrations
(#23975).
Made admin system checks run for custom AdminSite
s (#23497).
Ensured the app registry is fully populated when unpickling models. When an
external script (like a queueing infrastructure) reloads pickled models, it
could crash with an AppRegistryNotReady
exception (#24007).
Added quoting to field indexes in the SQL generated by migrations to prevent a crash when the index name requires it (#24015).
Added datetime.time
support to migrations questioner (#23998).
Fixed admindocs crash on apps installed as eggs (#23525).
Changed migrations autodetector to generate an AlterModelOptions
operation
instead of DeleteModel
and CreateModel
operations when changing
Meta.managed
. This prevents data loss when changing managed
from
False
to True
and vice versa (#24037).
Enabled the sqlsequencereset
command on apps with migrations
(#24054).
Added tablespace SQL to apps with migrations (#24051).
Corrected contrib.sites
default site creation in a multiple database
setup (#24000).
Restored support for objects that aren’t str
or bytes
in
django.utils.safestring.mark_for_escaping()
on Python 3.
Supported strings escaped by third-party libraries with the __html__
convention in the template engine (#23831).
Prevented extraneous DROP DEFAULT
SQL in migrations (#23581).
Restored the ability to use more than five levels of subqueries (#23758).
Fixed crash when ValidationError
is initialized with a ValidationError
that is initialized with a dictionary (#24008).
Prevented a crash on apps without migrations when running migrate --list
(#23366).
Dec 25, 2023