diff options
| author | Ville Skyttä <ville.skytta@iki.fi> | 2015-09-12 22:06:35 +0300 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2015-09-14 12:28:04 -0400 |
| commit | 69017bade0bcce0671e7d64c5a78626efa82a4ff (patch) | |
| tree | 94c520c5f1519e28bce7bc804fc21661a39cc9f5 /django | |
| parent | 07e01dce4091a6bb5bba1f8ae6490ff32c40e3bf (diff) | |
[1.8.x] Fixed #25393 -- Fixed MySQL crash when adding text/blob field with unhashable default.
Backport of 4d933ad4181a511f3ced98edba4e17aff054e0e2 from master
Diffstat (limited to 'django')
| -rw-r--r-- | django/db/backends/mysql/schema.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/django/db/backends/mysql/schema.py b/django/db/backends/mysql/schema.py index 91a14ad567..2d35da8c09 100644 --- a/django/db/backends/mysql/schema.py +++ b/django/db/backends/mysql/schema.py @@ -43,7 +43,8 @@ class DatabaseSchemaEditor(BaseDatabaseSchemaEditor): super(DatabaseSchemaEditor, self).add_field(model, field) # Simulate the effect of a one-off default. - if self.skip_default(field) and field.default not in {None, NOT_PROVIDED}: + # field.default may be unhashable, so a set isn't used for "in" check. + if self.skip_default(field) and field.default not in (None, NOT_PROVIDED): effective_default = self.effective_default(field) self.execute('UPDATE %(table)s SET %(column)s = %%s' % { 'table': self.quote_name(model._meta.db_table), |
