Я использую django 1.7 для своего приложения. Я столкнулся с несколькими проблемами миграции. Каждый раз, когда я пытаюсь изменить имя поля в моделях, которые являются внешним ключом, он ломается. Единственное исправление - перейти в базу данных и исправить ее, и они запустили migrate
, а затем syncdb
. Как я могу их решить, так как мое приложение становится больше, и я скоро потрачу больше времени на устранение ошибок базы данных по мере изменения моей схемы. Юг не поддерживается для django 1.7 и имеет собственную миграцию, которая не является мощной (я не уверен, только новичок)Юг с django 1.7
ответ
Структура миграции в Django 1.7 основана на Юге. Я вы обновляете вы должны прочитать:
https://docs.djangoproject.com/en/1.7/topics/migrations/#upgrading-from-south
из документации:
Обновления с юга Если у вас уже есть предварительно существующие миграции созданных с югом, то процесс обновления использовать django.db.migations довольно просто:
Убедитесь, что все установки полностью обновлены с их миграциями. Удалить 'юг' от INSTALLED_APPS. Удалите все ваши (нумерованные) миграции файлы, но не каталог или init .py - убедитесь, что вы также удалили файлы .pyc. Запустите python manage.py makemigrations. Django должен увидеть пустые каталоги миграции и внести новые начальные миграции в новый формат . Запустите python manage.py migrate. Django увидит, что таблицы для начальных миграций уже существуют и отмечают их как , применяемые без их запуска. Это оно! Единственное осложнение заключается в том, что если у вас есть циклический цикл зависимостей внешних ключей; в этом случае, makemigrations может сделать больше, чем одну начальную миграцию, и вы будете нужно пометить их все как применяется с использованием:
питон manage.py мигрировать --fake yourappnamehere
У меня нет приложений с более ранними версиями django. У меня это на 1.7, вопрос был в том, что я могу сделать, чтобы решить проблемы, с которыми сталкиваюсь с миграциями, поскольку использование юга не является вариантом для django 1.7. – theblackpearl
Просто обратите внимание, что если вы достигнете выше 1,7, документы скажем, запустить «manage.py migrate», но вам нужно запустить «manage.py migrate --fake-initial». В 1.7, --fake-initial был значением по умолчанию, а затем он упал позже. – theicfire
- 1. Django> = 1.7: Как делать такие данные, как юг?
- 2. Зачем использовать юг для миграции в Django?
- 3. django юг проблема миграции
- 4. django юг - колонка нет нет
- 5. Настройка django на юг с PostgreSQL
- 6. Django-nonrel не работает с django 1.7
- 7. делает django-nonrel совместим с django 1.7
- 8. Обновление Django 1.7 с пип
- 9. Django 1.7 - переходы с юга
- 10. Возвращаясь PNG с Django 1.7
- 11. Использование `Prefetch` Django 1.7
- 12. Django 1.7 makemigration Hang
- 13. Учебник Django 1.7 ForeignKey
- 14. Django 1.7 конфликтующие модели
- 15. Использование южных зависимых приложений с django 1.7 новой системой миграции
- 16. Django 1.7 generic views
- 17. Django 1.7 Migrations
- 18. Django 1.7 Миграция висит
- 19. Django 1.7 Группы
- 20. transaction.autocommit in django 1.7
- 21. Юг - Не обнаруживает изменений в модели Django
- 22. Django 1.7 - App 'your_app_name' не имеет миграций
- 23. Вывод миграции Django на юг KeyError: u'name '
- 24. Django и юг миграции: неожиданное поле вышло
- 25. Django юг datamigrations не работает пост сохраняет
- 26. Django Миграции от версии 1.5 до 1.7
- 27. Переключение с auth_user на CustomUser в Django 1.7
- 28. Перенос существующего проекта с Django 1.6 до 1.7
- 29. Что такое Django 1.7+, эквивалентное add_ignored_fields()?
- 30. Django 1.7 построил миграцию против Южной миграции?
Что заставляет вас думать, Встроенные миграции Django не так сильны? Напротив, они значительно более мощные: автор Юга написал новую функциональность, и он тесно интегрирован с Django. –
Я просмотрел документы. Но он ломается, когда я пытаюсь изменить имя внешнего ключа, и время от времени мне нужно пойти и исправить его вручную в mysql. – theblackpearl
Вы можете использовать 'default = callback_function' для' ForeignKey'? например ... 'parent = models.ForeignKey ('Parent', default = get_parent, null = False)' – pztrick