2014-12-15 2 views
4

У меня есть проект Django 1.6 с Python 2.7 и по нескольким причинам я хотел бы перейти на Django 1.7.Перенос существующего проекта с Django 1.6 до 1.7

Учтите, что Юг никогда не использовался в этом проекте и что у нас есть пользовательская модель (это важно иметь в виду, поскольку пользовательские модели, похоже, сталкиваются с convert_to_south в соответствии с this ticket).

Каковы будут различные шаги, чтобы плавно перейти на Django 1.7? Мой тайный сон заключался бы в том, чтобы избежать использования Юга и напрямую воспользоваться поддержкой миграции схемы на основе Django 1.7.

ответ

6

с точки дб зрения:

  • пункт установить Джанго == 1,7
  • запустить ./manage.py makemigrations
  • пробег ./manage.py migrate

что все

для других сочетаемости проверить релиз Примечания: https://docs.djangoproject.com/en/dev/releases/1.7/

Основные проблемы, которые могут быть найдены, связаны с новым механизмом application loading (т.е. вы не можете использовать get_user_model() в любом месте). Существует не один способ его решения, зависит от структуры кода.

некоторые 'везде действует' точка являются:

  • , если использование пользовательской модели пользователя. использовать всегда settings.AUTH_USER_MODEL в ForeignKeys
  • не имеют доступа к любой модели в вашем __init__

некоторые ссылки:

+0

Я предпочитаю: " pip inst все django <= 1.7.99 "(1.7.1 - последняя версия) – alexander

+0

Проверьте свои настройки на дубликаты в INSTALLED_APPS – sax

+1

Если вы пропустите минус 1.7, вам нужно будет сделать manage.py migrate --fake-initial , потому что это значение по умолчанию в версии 1.7, но не в будущих версиях – theicfire

Смежные вопросы