Я новичок в Django и Python.Я установил Django 2.1.5, Python 3.7 и MySQL в качестве базы данных.
Я создал 3 приложения - курсы, репетиторы и видео.Мигрировал успешно в MySQL.Настроил Django Admin и добавил некоторые данные ко всем из них.
Я использую uuid4 для генерации первичных ключей для всех.
Сначала я забыл создать внешние ключи или могубудь я изначально не планировал.
Теперь, когда я меняю свою модель (меняю ли я тип поля в модели django ИЛИ добавляю новое поле в любую модель), Django запрашивает значение по умолчаниюдля существующих строк.
Это дает мне два варианта установки автоматического значения на 1. И позволяет мне просматривать и делать себя на 2.
Если я делаю 1 - ничего не происходит, и системаповторяет то же самоеЕсли я вставляю любое случайное значение с опцией 2. Я получаю ошибку типа для очевидного несоответствия типов (я так полагаю).См. Ниже:
Пожалуйста, выберите исправление: 1) Укажите одноразовое значение по умолчанию сейчас (будет установлено для всех существующих строк с нулевым значением для этого столбца) 2) Выйти, и позвольте мне добавить значение по умолчанию вmodels.py Выберите опцию: 1 Пожалуйста, введите значение по умолчанию сейчас, как действительный Python. Доступны модули datetime и django.utils.timezone, так что вы можете сделать, например, timezone.now. Для выхода из этого приглашения введите «exit»1016 *
>
При редактировании модели я столкнулся с другой циклической ошибкой ссылки.
Теперь я хотел бы знать, что:
Как это возможно для идеального проектирования схемы таблицы в первом Go.Очевидно, что модели нужно будет менять.
При каждом изменении я сталкиваюсь с таким количеством проблем с миграциями (OperationalError).
Это специфично для MySQL, и PostgreSQL лучше работает с изменениями схемы (в документации django сказано, что - https://docs.djangoproject.com/en/2.1/topics/migrations/#postgresql).
Могу ли я просто переопределить все с последними изменениями в моих моделях.
В такой ситуации я сбросил свою БД один раз, и все было гладко, когда я переиграл с последней моделью, но я не могу удалить БД каждый раз.
Я пыталсяподдельные миграции, но изменение схемы является главной проблемой здесь.
Или лучший способ / подход / процесс разработки приложений Django, о которых я не знаю.
Я создал новое приложение и хочу добавить uuid этого приложения в качестве внешнего ключа в ранее созданное приложение (курсы) без потери существующих данных. Как я могу это сделать?