読者です 読者をやめる 読者になる 読者になる

Pycharmでrun manage.py tasksにsouthのタスクが表示されない

pycharm

pycharmではdjangoプロジェクト編集中に「Run manage.py Tasks」で、manage.pyを叩けます。


ところが、INSTALLED_APPSに入ってるはずのsouthの「schemamigration」とか「migrate」が出てきません。おかしい。

settingは以下のような感じで、Settings->Django supportでsettings/local.pyをsettingsに指定してます。


settings/base.py

########## APP CONFIGURATION
DJANGO_APPS = (
    # Default Django apps:
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    # Useful template tags:
    # 'django.contrib.humanize',

    # Admin panel and documentation:
    'django.contrib.admin',
    # 'django.contrib.admindocs',
)

THIRD_PARTY_APPS = (
    # Database migration helpers:
    'south',
)

# Apps specific for this project go here.
LOCAL_APPS = (
)

# See: https://docs.djangoproject.com/en/dev/ref/settings/#installed-apps
INSTALLED_APPS = DJANGO_APPS + THIRD_PARTY_APPS + LOCAL_APPS

settings/local.py

from base import *

INSTALLED_APPS += (
    'debug_toolbar',
)


いろいろ試してみたところ、settings/local.pyにsouthを書くとmigrateが表示されるようです。

settings/local.py

from base import *

INSTALLED_APPS += (
    'debug_toolbar',
    'south'
)

どうやらsettingsに指定しているファイルに直接書いてあるappのtaskしか拾えてないようです。

さらに調べてみると不具合として報告されてました。

PyCharm settings.py parser should understand concatenation in INSTALLED_APPS initialization : PY-8413


Voteしといた。