Create an app with a simple `models.py` (and put it in
`settings.INSTALLED_APPS`):
{{{#!python
from django.db import models
class Foo(models.Model):
pass
}}}
Run `makemigrations` and then `migrate`.
Then change the `Foo` model to be:
{{{#!python
class Foo(models.Model):
foo = models.CharField(max_length=10, default='')
}}}
After that, running `manage.py makemigrations` breaks with the following
traceback:
{{{
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "./django/core/management/__init__.py", line 427, in
execute_from_command_line
utility.execute()
File "./django/core/management/__init__.py", line 419, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "./django/core/management/base.py", line 287, in run_from_argv
self.execute(*args, **options.__dict__)
File "./django/core/management/base.py", line 336, in execute
output = self.handle(*args, **options)
File "./django/core/management/commands/makemigrations.py", line 80, in
handle
changes = autodetector.changes(graph=loader.graph,
trim_to_apps=app_labels or None)
File "./django/db/migrations/autodetector.py", line 33, in changes
changes = self._detect_changes()
File "./django/db/migrations/autodetector.py", line 236, in
_detect_changes
swappable_setting = new_apps.get_model(app_label,
model_name)._meta.get_field_by_name(field_name)[0].swappable_setting
AttributeError: 'CharField' object has no attribute 'swappable_setting'
}}}
Breakage was introduced in commit
11c021336c8cb1c92be998f1a44c89a746275107.
--
Ticket URL: <https://code.djangoproject.com/ticket/22030>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* version: 1.6 => 1.7-alpha-1
--
Ticket URL: <https://code.djangoproject.com/ticket/22030#comment:1>
* has_patch: 0 => 1
Comment:
Failing test case and tentative fix there:
https://github.com/django/django/pull/2270
--
Ticket URL: <https://code.djangoproject.com/ticket/22030#comment:2>
* stage: Unreviewed => Ready for checkin
--
Ticket URL: <https://code.djangoproject.com/ticket/22030#comment:3>
* owner: => Baptiste Mispelon <bmispelon@…>
* status: new => closed
* resolution: => fixed
Comment:
In [changeset:"6873eeeefbc3a081c98351ff25b4cdc42dbf3d7d"]:
{{{
#!CommitTicketReference repository=""
revision="6873eeeefbc3a081c98351ff25b4cdc42dbf3d7d"
Fixed #22030 -- Don't assume that all fields have a swappable_setting
attribute.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/22030#comment:4>
Comment (by Andrew Godwin <andrew@…>):
In [changeset:"3c547a423f5394d816b5a942570abd904f07bfba"]:
{{{
#!CommitTicketReference repository=""
revision="3c547a423f5394d816b5a942570abd904f07bfba"
Merge pull request #2270 from bmispelon/ticket-22030
Fixed #22030 -- Don't assume that all fields have a swappable_setting
at...
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/22030#comment:5>