Хотите добавить столбец, который является Внешним ключом к существующей таблице - PullRequest
1 голос
/ 04 июля 2011

В моем приложении Django, models.py, у меня есть это поле, которое я только что добавил.

 Class Client
     user  = models.ForeignKey(User)

Я хочу добавить это поле в MySQL для существующей таблицы ,Проблема в том, что я не знаю команду для работы с внешними ключами.Имя моей таблицы, в которую я хочу добавить этот столбец, называется tiptop_clients.

Ответы [ 2 ]

1 голос
/ 04 июля 2011

Вы можете использовать sqldiff -команду django-extensions :

Команда Django, которая сканирует все модели на предмет заданных имен приложений и сравниваеттам схема базы данных с реальными таблицами базы данных.

Указывает, как столбцы в базе данных отличаются от SQL, который будет сгенерирован Django.Эта команда не является инструментом миграции базы данных.Хотя это, безусловно, может помочь во время миграции.Его цель - показать текущие различия как способ проверки или отладки ваших моделей по сравнению с реальными таблицами и столбцами базы данных.

0 голосов
/ 04 июля 2011

Проблема номер один, с которой вы столкнетесь, это то, что вы делаете с существующими данными?Должен ли пользователь иметь значение NULL для любого уже созданного клиента?Будете ли вы обновлять все свои формы для обработки этого случая?

Вы можете взглянуть на проект Юг , чтобы обработать добавление этого столбца, но вы можете посмотреть на этот связанный Переполнение стека вопрос, где кто-то хотел добавить пользователя в существующую модель.

В конце концов они решили, что проще начать с нуля, чем ввести в курс дела ForeignKey.

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