Python south migrate仅为我的一个项目生成AttributeError
在开发MacOS时,我有几个django项目。当我运行Python south migrate仅为我的一个项目生成AttributeError,python,django,django-south,Python,Django,Django South,在开发MacOS时,我有几个django项目。当我运行python manage.py migrate时,除了一个之外,所有这些都可以正常工作。但只有一个项目返回此错误: Running migrations for main: - Nothing to migrate. - Loading initial data for main. Traceback (most recent call last): File "manage.py", line 10, in <module&g
python manage.py migrate
时,除了一个之外,所有这些都可以正常工作。但只有一个项目返回此错误:
Running migrations for main:
- Nothing to migrate.
- Loading initial data for main.
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", line 242, in run_from_argv
self.execute(*args, **options.__dict__)
File "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", line 285, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python2.7/site-packages/south/management/commands/migrate.py", line 111, in handle
ignore_ghosts = ignore_ghosts,
File "/usr/local/lib/python2.7/site-packages/south/migration/__init__.py", line 233, in migrate_app
migrator.load_initial_data(target, db=database)
File "/usr/local/lib/python2.7/site-packages/south/migration/migrators.py", line 224, in load_initial_data
self.post_1_6(target, db)
File "/usr/local/lib/python2.7/site-packages/south/migration/migrators.py", line 242, in post_1_6
old_cache = django.db.models.loading.cache
AttributeError: 'module' object has no attribute 'loading'
我尝试重新安装django并升级了south,但结果相同。请验证您是否已执行以下操作:
./manage.py schemamigration appname --initial
./manage.py migrate appname --fake
在以后进行更改之后
./manage.py schemamigration appname --auto
./manage.py migrate appname
如果第二块代码不起作用,您可能需要删除south\u migrationhistory
。首先,删除应用程序文件夹中的migrations
文件夹。然后(安装了SQL):
现在做我上面提到的例行公事(--initial,--false)
./manage.py schemamigration appname --auto
./manage.py migrate appname
./manage.py dbshell
SELECT * FROM sqlite_master WHERE type="table";
DROP TABLE south_migrationhistory;
.exit