Django не принимает изменения INSTALLED_APPS в settings.py - PullRequest
2 голосов
/ 23 мая 2009

Я пытаюсь заставить Юг работать - он отлично работает на моем ПК, но я пытаюсь развернуть его на своем веб-хосте.

Сейчас кажется, что любые изменения, которые я делаю для добавления / удаления элементов из INSTALLED_APPS, не воспринимаются syncdb или diffsettings. Я добавил south в свой список INSTALLED_APPS, но необходимые мне таблицы не создаются при запуске syncdb. Если я изменю другие настройки, они будут подобраны, просто это будет INSTALLED_APPS, который не работает.

Если я бегу

from south.db import db

из оболочки, которую я получаю с manage.py shell, я не получаю никаких ошибок импорта, поэтому я не думаю, что это проблема с south. Я попытался удалить все мои другие приложения (кроме стандартных Django), и таблицы для них все еще создаются, когда я запускаю syncdb.

Даже если я полностью удаляю INSTALLED_APPS, я все равно получаю старый список INSTALLED_APPS при запуске diffsettings manage.py.

Есть идеи, что я сделал не так?

Спасибо

Дом

Ответы [ 2 ]

3 голосов
/ 23 мая 2009

Если вы напишите миграцию для приложения, syncdb не будет работать. Вы должны использовать

manage.py migrate

syncdb не будет работать для приложений, которые подключаются при переносе с использованием south. Изменение модели этих приложений будет замечено только в зависимости от истории миграции на юг.

Южная миграционная документация

2 голосов
/ 23 мая 2009

Ответ, как оказалось, в том, что я дебил. Я сделал это:

В settings.py:

...
INSTALLED_APPS = (
    ...
)
...

from localsettings import *

В localsettings.py

...
INSTALLED_APPS = (
    ...
)
...

Я создал localsettings.py из settings.py, чтобы содержать вещи, относящиеся только к текущему местоположению проекта (например, настройки базы данных), и забыл удалить раздел INSTALLED_APPS.

Извиняюсь за столь вопиющую глупость.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...