私のDjangoアプリケーションのmodels.pyには、私が最近追加したフィールドがあります。既存のテーブルに外部キーである列を追加したい
Class Client
user = models.ForeignKey(User)
私は既存のテーブルにMySQLでこのフィールドを追加します。問題は私が外部キーを扱うコマンドを知らないことです。この列を追加したいテーブルの名前はtiptop_clients
です。
私のDjangoアプリケーションのmodels.pyには、私が最近追加したフィールドがあります。既存のテーブルに外部キーである列を追加したい
Class Client
user = models.ForeignKey(User)
私は既存のテーブルにMySQLでこのフィールドを追加します。問題は私が外部キーを扱うコマンドを知らないことです。この列を追加したいテーブルの名前はtiptop_clients
です。
あなたはdjango-extensionsのsqldiff
-commandを使用することができます与えられたappnamesためのすべてのモデル をスキャンし、実際の データベーステーブルと がデータベーススキーマを比較
Djangoのコマンド。
データベースの列がDjangoによって生成されるSQL とどのように異なるかを示します。 このコマンドはデータベース 移行ツールではありません。 移行の間に確かに助けになるかもしれませんが、 です。実際のデータベーステーブル およびカラムと比較して、 に モデルをチェックまたはデバッグする方法として現在の相違点を表示することが目的です。
あなたがこれで持っている第1の問題は、既存のデータとは何ですか?すでに作成されているクライアントでは、ユーザーはNULLにする必要がありますか?そのケースを処理するためにすべてのフォームを更新しますか?
Southプロジェクトを参照してその列を追加することもできますが、既存のモデルにユーザーを追加する場合は、この関連するStack Overflow質問を参照してください。
最終的に、彼らは一から始めてからForeignKeyを靴ひねりにする方が簡単だと決めました。