南0.8.3升级导致DeserializationError

Eri*_*rik 5 django django-south

我有一个使用South 0.8.2的Django 1.5.5项目.一切都很好 - 包括使用South的迁移.当我尝试将此项目升级到South 0.8.3时,运行时出现以下错误python manage.py migrate:

(VBEZ)vagrant@vagrant-ubuntu-precise-64:/vagrant$ python manage.py migrate
Running migrations for django_mailbox:
- Nothing to migrate.
 - Loading initial data for django_mailbox.
Installed 3 object(s) from 1 fixture(s)
Running migrations for djcelery:
- Nothing to migrate.
 - Loading initial data for djcelery.
DeserializationError: Problem installing fixture 'initial_data.json': Invalid model identifier: 'sites.site'
Run Code Online (Sandbox Code Playgroud)

发生了什么事?

这是我的initial_data.json档案:

[
  {
    "pk": 1, 
    "model": "sites.site", 
    "fields": {
      "domain": "0.0.0.0:5000", 
      "name": "Project (Development)"
    }
  }, 
  {
    "pk": 2, 
    "model": "sites.site", 
    "fields": {
      "domain": "project-staging.example.com", 
      "name": "Project (Staging)"
    }
  }, 
  {
    "pk": 3, 
    "model": "sites.site", 
    "fields": {
      "domain": "project.example.com", 
      "name": "Project"
    }
  }
]
Run Code Online (Sandbox Code Playgroud)

以下是使用South 0.8.2成功迁移的情况:

Running migrations for django_mailbox:
- Nothing to migrate.
 - Loading initial data for django_mailbox.
Installed 3 object(s) from 1 fixture(s)
Running migrations for djcelery:
- Nothing to migrate.
 - Loading initial data for djcelery.
Installed 3 object(s) from 1 fixture(s)
Running migrations for taggit:
- Nothing to migrate.
 - Loading initial data for taggit.
Installed 3 object(s) from 1 fixture(s)
Running migrations for eee_core:
- Nothing to migrate.
 - Loading initial data for eee_core.
Installed 3 object(s) from 1 fixture(s)
Running migrations for core:
- Nothing to migrate.
 - Loading initial data for core.
Installed 3 object(s) from 1 fixture(s)
Run Code Online (Sandbox Code Playgroud)

我看过/试过的事情:

  • django-contrib-sites 在我的'INSTALLED_APPS'中
  • 如果initial_data.json删除文件,迁移工作正常.
  • 如果我单独运行迁移,它们运行正常.例子python manage.py migrate myapp.
  • 我已经提交了一张票:http://south.aeracode.org/ticket/1324

谢谢.

Eri*_*rik 3

看起来这是 South 0.8.3 中的一个已知错误:http://south.aeracode.org/ticket/1320。预计将在一周左右修复。

更新:South 0.8.4 修复了这个错误。