Django manage.py失败,“populate()在本地不可重入”,但适用于heroku

时间:2015-07-24 02:11:15

标签: python django heroku migration

我有一个奇怪的问题,Django在远程运行正常,但在本地失败。 我正在开发一个Django webapp并尝试使用makemigrations为我的模型添加一些新字段。每当我直接在Heroku上运行makemigrations时,它就能正常运行:

Migrations for 'users':
  0001_initial.py:
    - Create model CustomUser
    - Create model CorporateUser
    - Create model NormalUser

但显然不能保存。这是我第一次使用迁移:我最近从Django 1.6迁移。

我知道我需要在本地运行makemigrations并推送到远程,但每当我尝试在本地使用manage.py时,我都会收到以下错误:

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/bniii/anaconda/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
utility.execute()
  File "/Users/bniii/anaconda/lib/python2.7/site-packages/django/core/management/__init__.py", line 354, in execute
django.setup()
  File "/Users/bniii/anaconda/lib/python2.7/site-packages/django/__init__.py", line 21, in setup
apps.populate(settings.INSTALLED_APPS)
  File "/Users/bniii/anaconda/lib/python2.7/site-packages/django/apps/registry.py", line 78, in populate
raise RuntimeError("populate() isn't reentrant")
RuntimeError: populate() isn't reentrant

我在这个具体问题上找到的一个资源似乎说它与我安装的应用程序有关,所以这些就是我所拥有的:

INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',

'users',  #my app

'django.contrib.sites',
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.socialaccount.providers.facebook',
'bootstrapform',
)

如果我注释掉所有与auth相关的应用程序,manage.py似乎不会抛出任何错误,但是一切都到位后我总是会收到此错误。有谁知道为什么会这样?

0 个答案:

没有答案