我正试着从Django 1.6迁移到Django 1.8.在Django 1.6中,我使用South来管理migrations.我已经在python manage.py makemigrations年前成功创建了新的迁移文件.运行python manage.py migrate --fake-initial时,我收到此错误

 Traceback (most recent call last):
  File "manage.py", line 39, in <module>
    execute_from_command_line(sys.argv)
  File "/home/jonty/.virtualenvs/squadrun/local/lib/python2.7/site-    packages/django/core/management/__init__.py", line 338, in   execute_from_command_line
    utility.execute()
  File "/home/jonty/.virtualenvs/squadrun/local/lib/python2.7/site-  packages/django/core/management/__init__.py", line 330, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/jonty/.virtualenvs/squadrun/local/lib/python2.7/site-packages/django/core/management/base.py", line 390, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/jonty/.virtualenvs/squadrun/local/lib/python2.7/site-packages/django/core/management/base.py", line 441, in execute
    output = self.handle(*args, **options)
  File "/home/jonty/.virtualenvs/squadrun/local/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 225, in handle
    emit_post_migrate_signal(created_models, self.verbosity, self.interactive, connection.alias)
  File "/home/jonty/.virtualenvs/squadrun/local/lib/python2.7/site-packages/django/core/management/sql.py", line 280, in emit_post_migrate_signal
using=db)
  File "/home/jonty/.virtualenvs/squadrun/local/lib/python2.7/site-packages/django/dispatch/dispatcher.py", line 201, in send
response = receiver(signal=self, sender=sender, **named)
  File "/home/jonty/.virtualenvs/squadrun/local/lib/python2.7/site-packages/django/contrib/auth/management/__init__.py", line 82, in create_permissions
    ctype = ContentType.objects.db_manager(using).get_for_model(klass)
  File "/home/jonty/.virtualenvs/squadrun/local/lib/python2.7/site-packages/django/contrib/contenttypes/models.py", line 78, in get_for_model
    "Error creating new content types. Please make sure contenttypes "

其中一个迁移文件0001_initial.py说:

dependencies = [
    ('auth', '0006_require_contenttypes_0002'),
    ('clients', '0002_auto_20150428_1551'),
    ('players', '0001_initial'),
]

我想这尤其是问题所在.解决此问题的方法是什么?如有任何帮助,我们将不胜感激.

推荐答案

根据this的说法,我认为这与"ContentType.name的移除"有关.但不知何故它不起作用.

从"django_content_type"表中手动删除第name列.如.

'ALTER TABLE django_content_type DROP COLUMN name'

我能够应用migrations.也许这至少能让你走得更远一点.

Django相关问答推荐

仅更新模型中的特定字段.Model Django

Django-将html数据保存到quillfield中

如何在Django中获取标记<;输入>;的';值';属性?

Django中的登录重定向

Django Admin:在一个部分中同时显示多个应用程序?

通过get_form_kwargs将请求传递给Django表单未能使表单访问self.request.user.

错误404除主要应用程序外,HTML页面无法渲染的其他应用程序

反向 url django 管理员

防止 django 将_id附加到外键字段

Django:如何在表单 clean() 方法的 django 验证错误中添加 超链接?

django - 表单没有错误,但 form.is_valid() 没有验证

如何在不使用 sudo 的情况下安装 virtualenv?

验证 Django 模型对象的正确方法?

django - 如何在验证之前处理/清理字段

如何使用 select_for_update 在 Django 中获取查询?

导入错误无法在windows环境下导入名称execute_manager

Django模板转义

使用 get_object_or_404 获取数据库值

Celery - 在一台服务器上运行不同的工作人员

Django中的自定义排序