Перенос внешнего ключа Django / MySQL для принятия нулевых значений - PullRequest
0 голосов
/ 27 января 2012

Настройте Django / MySQL. Есть модель Survey, которая в настоящее время выглядит как ...

class Survey(models.Model):

    company = models.ForeignKey('Company')

Я хочу настроить модель, чтобы компания могла иметь нулевое значение:

    company = models.ForeignKey('Company', blank = True, null = True)

Однако я не уверен, что мне следует делать на стороне MySQL, чтобы обеспечить все существующие ограничения / модели. Я просто изменяю столбец через консоль, чтобы принимать нулевые значения? Это живая база данных, поэтому я не хочу слишком много экспериментировать (моя среда разработки использует SqlLite3).

1 Ответ

0 голосов
/ 27 января 2012

Обновите вашу модель так, чтобы blank=True, null=True. Затем выполните команду sqlall на рабочем сервере (чтобы она выводила данные для MySQL)

./manage.py sqlall myapp

Найти оператор создания таблицы. Это покажет новое определение для поля survey_id.

CREATE TABLE `myapp_survey` (
...
`survey_id` integer
...

Затем в оболочке базы данных измените столбец так, чтобы он принимал нулевые значения, с помощью команды ALTER TABLE.

ALTER TABLE myapp_survey MODIFY company integer;

Будьте внимательны и подумайте, хотите ли вы запускать MySQL также и в вашей среде разработки. Вы действительно хотите копировать и вставлять команды из Stack Overflow в вашу живую оболочку БД без предварительного их тестирования?

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